关于 promise reduce执行顺序?-灵析社区

导师小jio

问题1:为何p1和p2为什么都是打印1楼上的大佬已经给出了原因, 至于问题2:p1和p2都在runPromiseInSequence之前执行;这是由于同步代码、异步代码的微任务队列先后执行顺序;arr.reduce同步代码的执行相当于执行Promise.resolve(10).then(p1).then(p2).then(f3).then(p4); 而promise.then的程序会被加入微任务队列中执行,所以会和下面的Promise.resolve(1).then(2).then(console.log); Promise.reject(1).then(2, 2).then(console.log, console.log); 中的.then程序交替进入微任务队列执行。同时其中return new Promise((resolve,reject)=>{resolve()})还会带来另一个问题,可以参考这位大佬的回复 ![image.png](https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241028/a1f8a922a65ed21cf73dc32653035745.png)

阅读量:1

点赞量:0

问AI