使用bluebird取消许诺数组?

时间:2019-12-13 11:09:19

标签: es6-promise bluebird request-promise

我在给定时间后使用带有请求承诺的bluebird取消承诺列表。问题是,如果我取消个人承诺,它会取消而不会引发任何错误。

const Promise = require('bluebird');
const request_promise = Promise.promisify(require('request-promise'));
Promise.config({
    cancellation: true
});

let r_promise = [request_promise({
        method: 'get',
        uri: 'https://reqres.in/api/users?page=2'
    }).catch((error) => {
        console.error('error 1')
    }), request_promise({
        method: 'get',
        uri: 'https://reqres.in/api/users?page=2'
    }).catch((error) => {
        console.error('error 1')
    })];


r_promise.forEach((row, index) => {
    console.log(row.isCancellable());
    row.cancel();
});

setTimeout(() => {
    Promise.all(r_promise).then(data => {
        console.log(data);
    }).catch(err => {
        console.log(err);
    });
}, 4000);

它生成延迟取消观察者。表示我要在解决之前取消。我有什么办法可以在解决之前取消它。

0 个答案:

没有答案