小编jav*_*ver的帖子

JavaScript Promise 如何在幕后工作

当承诺产生和消耗时,我对幕后发生的事情感到非常困惑。请澄清我的观点,并对我的英语不好表示歉意。

  1. 使用 new 关键字创建空白对象 Promise 构造函数被调用,并且 new 关键字设置 Promise 构造函数的 this 指向空白对象 this = Blankobject。
  2. Promise 构造函数接收参数中的回调(执行器函数)并调用执行器函数。
  3. 执行器函数接收两个回调(resolve、reject)作为参数
  4. setTimeout 在执行器函数中被调用,setTimeOut 是异步代码
  5. 异步代码进入后台,然后 Promise 构造函数返回以前为空白对象的 Promise 对象,并将 Promise 对象引用保存到 myPromise。
  6. 创建了一个变量

接下来发生什么 ?当then方法被调用时,方法的代码then会转到后台吗?我想它会进入后台,变量是 console.log // 10

主代码执行完成后,异步代码启动setTimeout回调开始执行,执行完成后,promise 得到满足,resolved 函数返回值。这个值如何存储在 Promise 对象中以及then方法中发生了什么?

let myPromise = new Promise (
    (resolve, reject) => {

        setTimeout(() => {
            console.log(getIDs)
            resolve(10);

        }, 1500);

    }
)


let a = 10
        myPromise.then(val => {
            console.log(val);

        })
        console.log(a)
Run Code Online (Sandbox Code Playgroud)

javascript promise es6-promise

5
推荐指数
1
解决办法
2395
查看次数

标签 统计

es6-promise ×1

javascript ×1

promise ×1