promise resolve嵌套promise

这段代码的执行顺序是?

首先,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'}

所以结果有改变

你可能感兴趣的:(promise resolve嵌套promise)