NodeJS异步编程基础专题测试
考察知识点
- 事件循环:事件循环阶段划分、微任务与宏任务优先级、事件循环生命周期
- Promise:Promise状态与创建、链式调用、静态方法(all/race/allSettled)
- async/await:async函数返回值特性、await使用规范、错误处理、并行执行
- 回调函数:回调函数概念、错误优先模式、回调地狱问题与解决方案
Node.js事件循环包含多个阶段,以下哪个阶段最先执行?
在Node.js事件循环中,以下哪种操作属于微任务?
关于Node.js事件循环的生命周期,以下说法正确的是?
Promise对象有几种状态,且状态变化有什么特点?
以下代码最终输出什么?
Promise.resolve(1)
.then(val => val + 1)
.then(val => { throw new Error('error') })
.catch(err => 10)
.then(val => console.log(val));
以下哪些是Promise的静态方法?
async函数的返回值有什么特点?
关于await的使用,以下说法正确的是?
使用async/await处理异步错误时,应该使用______语句包裹await表达式。当Promise被拒绝时,错误信息可以通过______块的参数获取。如果要确保无论成功失败都执行某段代码,可以使用_______块。
要让多个async操作并行执行而不是顺序执行,应该使用___________方法包裹所有Promise。例如:const results = ______ Promise.all([promise1, promise2]); 这样两个请求会______发起,而不是等待第一个完成后再执行第二个。
回调函数是什么?
Node.js中回调函数的标准参数顺序是什么?
"回调地狱"是指多层嵌套回调导致代码难以阅读和维护的情况。
以下代码的输出顺序是什么?
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
console.log('4');
创建一个Promise对象的正确语法是什么?
使用Promise静态方法快速创建已完成的Promise:const p1 = _______________('成功'); 创建一个状态为fulfilled的Promise。使用const p2 = ______________('失败'); 创建一个状态为rejected的Promise。
以下代码中,如何正确捕获await Promise.reject()产生的错误?
async函数是Promise的语法糖,本质上返回一个Promise对象,await表达式会暂停async函数执行等待Promise解决。
以下哪种情况回调函数会同步执行?
避免回调地狱的有效方法有哪些?
📝 发现内容有误?点击此处直接编辑
长按或扫描二维码,立即体验