【问题标题】:How to cancel a promise in javascript? [duplicate]如何在javascript中取消承诺? [复制]
【发布时间】:2017-05-24 14:29:47
【问题描述】:
var promise1 = new Promise(function(resolve, reject) { 
       // ajax api call
});
var promise2 = new Promise(function(resolve, reject) { 
       // ajax api call
});

我希望能够做类似的事情 -

if(a < b) {
  promise1.cancel();
}

【问题讨论】:

标签: javascript promise


【解决方案1】:

您无法取消 Promise,但您可以使用 then 链接您的 Promise,并随时拒绝。

new Promise((resolve, reject) => {
    // step 1
})
.then((result) => {
    if (!result) {
        // Reject the promise chain
        throw 'cancel';
    } else {
        return ... // step 2
    }
})
.catch(err => {
    // cancelled
});

【讨论】:

    猜你喜欢
    • 2016-02-04
    • 2018-12-10
    • 2015-07-25
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 2018-12-15
    • 2014-06-05
    相关资源
    最近更新 更多