Promise的.then()回调到底属于哪次事件循环

以前看到的都是说宏任务执行完后清空微任务队列就开始下一次事件循环,也就是说.then()属于本次事件循环,但今天在MDN看到这样一句话就有点懵https://developer.mozilla.org...
图片.png
它这个意思岂不是.then()是下一次事件循环?

阅读 4.1k
5 个回答

宏任务(task)+ 微任务(job)为一次事件循环

开始执行:
=> 宏任务(task,promise将then中的回调放入微任务队列)+ 微任务(job, promise.then中的回调执行)
=> 宏任务(task,promise将then中的回调放入微任务队列)+ 微任务(job,promise.then中的回调执行)
=> 宏任务(task,promise将then中的回调放入微任务队列)+ 微任务(job,promise.then中的回调执行)

我之前写过一篇关于事件循环的文章,希望能帮到你
今天,我明白了JS事件循环机制

还写过一篇解析Promise原理的文章
Promise的秘密(Promise原理解析以及实现)

分清哪些是宏任务,哪些是微任务,node event loop执行的几个阶段,微任务的执行优先级,我想这样会容易明白些

微任务/。。。

建议看源码,源码很短的,就几个关键函数而已

推荐问题
宣传栏