easy-promise

2017-07-23  本文已影响9人  MatrixFK

本文通过对 promise 源码的阅读,目标是写出一个简化版可以用于co的promise。

网上的promise包有很多,其中使用比较广泛的是 promise 和 bluebird
本次我选择阅读的是:https://www.npmjs.com/package/promise
代码长度不算很长,总过加起来不到两千行,代码实现思路非常清晰。

问题:
1,promise是如何将异步函数转为链式执行的?

首页我们通过图像来了解 promise 的运行流程。

这里我们通过自己写几段测试代码,来讲解promise的执行流程

test code 1:
// 1s之后返回d
var test = function(d){
  return new Promise(function(rel,rej){
    setTimeout(function(){
      rel(d)
    },1000);
  })
}

// 执行他,在得到d之后将它打印出来
test
.then(d=>{
  console.log(d);
})
上一篇下一篇

猜你喜欢

热点阅读