in JavaScript

Pyramid of Doom (2)

上篇,要在JavaScript异步环境中支持串行化执行,尝试参考了 CommonJS的Promise标准 后,决定使用没有状态的Promise 方式来实现。

严格说来,Promise标准应该包括:

  • 暴露给调用的then接口,用以串联:这个接口永远返回promise对象本身
  • 内部维护每一次执行的状态,接受fulfilledHandler/ errorHandler/ progressHandler 以处理 成功/失败/执行中 状态
  • then接口里的待执行函数,需要回调promise以触发下一次执行(执行链思路大同小异,上篇的问题只是不串行
  • 内部维护一个队列,在构造执行链时将待执行函数存入

我的版本没这么复杂,在不考虑状态维护的情况下,简单的以”next” 消息尾触发执行链:

执行效果:

sequential execution like Promise

构造执行链的代码仍称不上雅观,替自己捉急,决定花点时间,好好学学 Q 的源码 🙂

打赏作者
您的支持将激励我继续创作!

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

Write a Comment

Comment