总结promise何时被推入微任务队列

89 阅读1分钟
Promise.resolve() // 就在此时此刻,将fn1推入微任务队列
.then(fn1)

new Promise((res, rej) => {
    // do some thing
    res() // 就在此时此刻,将fn2推入微任务队列
}).then(fn2)

xxx.then(data=>{
    // 不return则默认返回undefined
    // 就在此时此刻,将fn3推入微任务队列
}).then(fn3)

Promise.resolve((async _=>{
    await xxx
    await xxx
    // 执行完此方法,就在此时此刻,将fn4推入微任务队列
})()).then(fn4)

then中传入的方法,究竟在哪个时刻被推入微任务队列去等待执行?

以上是目前能想到的四个精确的时间点

应该不止这些情况,希望大佬补充