以前看到的都是说宏任务执行完后清空微任务队列就开始下一次事件循环,也就是说.then()属于本次事件循环,但今天在MDN看到这样一句话就有点懵https://developer.mozilla.org...
它这个意思岂不是.then()是下一次事件循环?
以前看到的都是说宏任务执行完后清空微任务队列就开始下一次事件循环,也就是说.then()属于本次事件循环,但今天在MDN看到这样一句话就有点懵https://developer.mozilla.org...
它这个意思岂不是.then()是下一次事件循环?
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
宏任务(task)+ 微任务(job)为一次事件循环
开始执行:
=> 宏任务(task,promise将then中的回调放入微任务队列)+ 微任务(job, promise.then中的回调执行)
=> 宏任务(task,promise将then中的回调放入微任务队列)+ 微任务(job,promise.then中的回调执行)
=> 宏任务(task,promise将then中的回调放入微任务队列)+ 微任务(job,promise.then中的回调执行)
我之前写过一篇关于事件循环的文章,希望能帮到你
今天,我明白了JS事件循环机制
还写过一篇解析Promise原理的文章
Promise的秘密(Promise原理解析以及实现)