可撤销承诺的状态

Pie*_*mon 14 javascript promise cancellation ecmascript-6

https://github.com/promises-aplus/cancellation-spec上最早的问题是(在撰写本文时)9个月之前.我真的找不到关于"标准"承诺的取消功能的可靠信息来源.

到目前为止看起来这个功能是在bluebird中实现的,但作为一个库开发人员,我不想让我的包与完整的promise实现混乱.

我想做的只是传递一个承诺,并支持取消规范.

我在哪里可以找到这些信息?

Dom*_*nic 19

可撤销的承诺不会出现在ES6中,因为ES6的承诺非常小.

Promises/A +空间的取消工作已经停滞,因为我们等待图书馆的演变证明一种方法明显优越.最新的想法是在这个问题上,大多数希望实施取消的图书馆似乎都遵循(或多或少).关键点是:

  • 取消作为拒绝的特殊情况
  • 取消的反应在链中向上传播,以及拒绝本身向下传播.

目前尚不清楚你的意思是"简单地传递承诺并支持取消规范".你假设你的图书馆的消费者会把它投出来,你是否试图制作那些产品,但之后会以某种方式继承一些取消行为?这有点棘手,特别是因为取消通常取决于Cancellation用于拒绝承诺的指定构造函数.如果取消生态系统更加发达,那么这样做的方式可能会更加简单.

至于未来,它正在变化!前进的一条路线是有人在Promises/A +空间中支持取消提议的演变,从Q,RSVP,何时和Bluebird等主要图书馆获得实施者的支持.然后很多较小的图书馆可能会购买,你可能会有一些你可能依赖的东西.如果证明它很受欢迎,它也可能被认为是ECMAScript的承诺!

但这取决于很多人做了很多工作,所以我们会看看它是否会发生:).使用基础Promises/A +规范发生它有点奇迹,但是谁知道......它可能再次发生!