试题
考点

js语言和框架-CSS、CSS3-ES6相关(后面会废弃)

面5笔5

以下代码的执行结果是什么?

const promise = new Promise((resolve, reject) => {
console.log(1);
resolve();
console.log(2);
reject('error');
})
promise.then(() => {
console.log(3);
}).catch(e => console.log(e))
console.log(4);

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

【解析】1,2,4,3

规则一,promise构造函数的代码会立即执行,then或者reject里面的代码会放入异步微任务队列,在宏任务结束后会立即执行。

规则二:promise的状态一旦变更为成功或者失败,则不会再次改变,所以执行结果为:1,2,4,3。而catch里面的函数不会再执行

文章链接

评论
暂无评论

加载更多