你不知道的Promise构造函数Promise(excutor)

 Promise构造函数Promise(excutor)
 // 说明一下:excutor会在Promise内部立刻同步调用;(异步操作在执行器执行)

    var p = new Promise((resolve, reject) => {
        // resolve 既是函数也是参数,它用于处理成功的; 在异步任务成功的时候,去调用resolve
        // reject 既是函数也是参数,它用于处理失败的; 在异步任务失败的时候,去调用reject
        console.log(11);//这个是不会在队列中去,会立刻同步执行的;同步调用
    })
    console.log(22)

我的分析

Promise构造函数接收一个executor函数,这个函数是立即执行的。
也就是说在创建Promise对象的时候,executor就会被同步执行。
所以在上面这个例子中
当执行到new Promise的时候,里面的箭头函数会被立即调用。
里面的console.log(11)也会马上执行,输出11。
接下来,构造函数执行完之后,才会继续执行后面的代码,
这时候会输出22。
所以最终的输出顺序应该是先11,后22。

posted @ 2021-04-14 23:22  南风晚来晚相识  阅读(310)  评论(0)    收藏  举报