https://github.com/promises-aplus/cancellation-spec上最早的问题是(在撰写本文时)9 个月大。我真的找不到关于“标准”承诺的取消功能的可靠信息来源。
现在看起来该功能已在bluebird中实现,但作为库开发人员,我不想用完整的 Promise 实现来弄乱我的包。
我想做的只是传递一个类似承诺并支持取消规范。
我在哪里可以找到这些信息?
https://github.com/promises-aplus/cancellation-spec上最早的问题是(在撰写本文时)9 个月大。我真的找不到关于“标准”承诺的取消功能的可靠信息来源。
现在看起来该功能已在bluebird中实现,但作为库开发人员,我不想用完整的 Promise 实现来弄乱我的包。
我想做的只是传递一个类似承诺并支持取消规范。
我在哪里可以找到这些信息?
可取消的承诺不会出现在 ES6 中,因为 ES6 的承诺非常少。
Promises/A+ 空间中取消的工作已经停滞,因为我们等待库的演变来证明一种方法明显优越。最新的想法是在这个问题上,这是大多数希望实现取消的库似乎都遵循的(或多或少)。关键点是:
目前尚不清楚您所说的“简单地通过类似承诺并支持取消规范”是什么意思。您是否正在尝试生成 thenables,假设您的图书馆的消费者会强制转换它,但之后会以某种方式继承一些取消行为?这有点棘手,特别是因为取消通常取决于Cancellation
用于拒绝承诺的指定构造函数。如果取消生态系统更加发达,那么执行此操作的方法可能会更加直接。
至于未来,嗯,它在不断变化!前进的一条途径是让某人在 Promises/A+ 空间中支持取消提案的演变,从 Q、RSVP、when 和 Bluebird 等主要库中获得实施者的支持。然后很多较小的图书馆可能会购买,并且您可能会依赖一些东西。如果证明它很受欢迎,它可能也会被考虑用于 ECMAScript 承诺!
但这取决于很多人做了很多工作,所以我们会看看它是否会发生:)。在基本 Promises/A+ 规范中发生这种情况是一种奇迹,但谁知道呢……它可能会再次发生!