因为dom的promise标准已经被删除, 而harmony的promise既可以在浏览器中用又可以将来在nodejs中用, 我们当然是选harmony的promise啦
现在我们来尝试用100行左右代码实现一下..., 其参数是promise内部控制流程的resolve和reject
看到这里, 想必大家觉得很熟悉, 所有流控制的库貌似都是传一个表达 继续往下传的内部函数, 说大白话就是 我这里搞定了, 你继续 的回调函数...resolve(解决了), 另一个是流程失败的reject(拒绝了)
虽然外观略不同, 但不管是connect还是promise, 其内部都有一个stack或者queue的东西保存着全部的流, 在js中显然也就是一个数组...的链式由then中的resolve返回值加入, 而非一开始就全部塞入, 这就是promise和express中next的主要区别
继续试着实现promise
function Promise(resolver...(chain).then(resolve, reject)
}
}
}
})}
上面是一个加上错误处理的next函数, 错误处理在promise中, 就是转成reject