从promise规范来手写promise

promise的术语

  1. promise 是一个有then方法的对象或者是函数,行为遵循本规范
  2. thenable 是一个有then 方法的对象或者是函数
  3. value是promise 状态成功时候的值,也就是resolve的参数,表示结果的数据
  4. reason是promise 状态失败时候的值,也就是reject的参数,表示拒绝的原因
  5. exception是一个使用throw抛出的异常值 。

promise的使用

异步的逻辑

为什么有微任务?
调用栈并发量大的时候,微任务可以解决异步时机不可控的问题
典型的异步
  • 事件回调
  • Ajax请求
  • Node API
  • setTimeout等
function foo() {
    setTimeout(() => {
        console.log("foo");
        //假如,把这个foo字符串看成一个复杂计算的结果
        fn("foo")
    }, 5000)
}
foo((res) => {
    console.log(`I've got ${res}`)
})

你可能感兴趣的:(从promise规范来手写promise)