promise resolve嵌套promise

2019-01-27  本文已影响0人  一只重拾梦想的小水

这段代码的执行顺序是?

首先,new promise中的executing是在定义时就会立刻执行的

所以顺序就是定义顺序 p2\ p1\ p3

接下来解释resolve的顺序:

等价于

p1=new Promise(resolve=>{

    resolve(

        new Promise(resolve=>{

            resolve("p3 resolve")

        })

    )

})

等价于
p1 = new Promise((resolve) => {

    resolve()

}).then(() => {

    return "p3 resolve"

})

下面两片代码,执行顺序为什么不一样?

与上面的情况一样

p1 = Promise{ status: resolved, value: 'p3 resolved'}

所以结果有改变

上一篇 下一篇

猜你喜欢

热点阅读