javascript 取消承诺链

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 取消承诺链相关的知识,希望对你有一定的参考价值。

/***
 * outputs promise 1 and promise 2 then cancels at promise 3. 
 * Set promise 3 to "A","A" for all promises to work
***/

//npm install bluebird
var Promise = require("bluebird");

// Enable cancellation
Promise.config({cancellation: true});

var promiseChain = myPromise1("A","A")
    .then(function(result) {
    
        myPromise2("A","A");
    })
    .then(function(result) {
        return promiseChain.cancel();
        myPromise3("A","A");
    })

var myPromise1 = function (var1, var2) {
    var promise = new Promise((resolve, reject)=>{
        if(var1 == var2){
            console.log("PROMISE 1");
            resolve(true);
        }
        else {
            resolve(false);
        }
    });
    return promise;
}

var myPromise2 = function (var1, var2) {
    var promise = new Promise((resolve, reject)=>{
        if(var1 == var2){
            console.log("PROMISE 2");
            resolve(true);
        }
        else {
            resolve(false);
        }
    });
    return promise;
}

var myPromise3 = function (var1, var2) {
    var promise = new Promise((resolve, reject)=>{
        if(var1 == var2){
            console.log("PROMISE 3");
            resolve(true);
        }
        else {
            resolve(false);
        }
    });
    return promise;
}

以上是关于javascript 取消承诺链的主要内容,如果未能解决你的问题,请参考以下文章

javascript中的链承诺

通过 Javascript 中的承诺链传递状态都有哪些模式? [复制]

Javascript - 链多个获取承诺

Javascript承诺链与重复逻辑附加到同一项目数组中。

承诺 - 是不是可以强制取消承诺

可取消承诺的状态