await是微任务吗?async和await是微任务还是宏任务?

电商资讯 访客 2024-03-31 09:09 355 0

1. 是微任务。
2. 因为await是用于异步编程中的关键字,用于等待一个Promise对象的状态变为resolved或rejected。
它会将后续的代码封装为一个微任务,等待当前的宏任务执行完毕后立即执行。
所以它可以被归类为微任务。
3. 微任务是指在当前任务执行结束后立即执行的任务,它们的执行时机比宏任务更早。
除了await之外,Promise的then和catch方法也会产生微任务。
在JavaScript中,事件循环机制会按照一定的顺序执行微任务和宏任务,确保代码的执行顺序和预期一致。


好像还不错,最少现在还比较可信。反正记住只要叫你交钱的都不可信

async和await是微任务。在JavaScript中,任务分为宏任务和微任务。宏任务包括脚本执行、setTimeout、setInterval等,而微任务包括Promise的回调函数、MutationObserver等。async和await是Promise的语法糖,它们内部使用了Promise,因此它们的执行会被放入微任务队列中。

当主线程空闲时,会首先处理微任务队列中的任务,然后再处理宏任务队列中的任务。所以,async和await是微任务,可以保证它们的执行顺序和结果正确性。