问答题876/1593【Promise第七题】下面代码的输出是什么?

1console.log('start') 2setTimeout(() => { 3 console.log('time') 4}) 5Promise.resolve().then(() => { 6 console.log('resolve') 7}) 8console.log('end')
难度:
2022-01-09 创建

参考答案:

解析

  • 刚开始整个脚本作为一个宏任务来执行,对于同步代码直接压入执行栈进行执行,因此先打印出start和end。
  • setTimout作为一个宏任务被放入宏任务队列(下一个)
  • Promise.then作为一个微任务被放入微任务队列
  • 本次宏任务执行完,检查微任务,发现Promise.then,执行它
  • 接下来进入下一个宏任务,发现setTimeout,执行。

结果

'start'
'end'
'resolve'
'time'

最近更新时间:2022-01-09

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!