【发布时间】:2022-03-01 08:09:58
【问题描述】:
在此处记录 API http://bluebirdjs.com/docs/api/cancellation.html
我在我的演示中尝试过,但不起作用
var Promise = require('bluebird');
var a = require('./a');
var b = require('./b');
var cancelPromise = Promise.resolve();
cancelPromise.cancel();
cancelPromise = a.fnA()
.then(function() {
return b.fnB();
})
.then(function() {
console.log('done');
})
.finally(function() {
if (cancelPromise.isCancelled()) {
console.log('canceled');
}
console.log('end');
});
那么这个方法怎么用呢?
【问题讨论】:
-
您预计会发生什么?您正在将
cancelPromise设置为一个虚拟承诺......然后您将取消该虚拟承诺,然后将cancelPromise设置为其他内容。 -
取消功能默认关闭,您可以使用
Promise.config启用它。 -
但是这个来自API示例的代码,我添加了
Promise.config,但它不起作用。