从承诺中解决n并创建n个承诺 - 如何在不嵌套承诺的情况下执行此操作?

时间:2017-04-26 23:27:37

标签: node.js callback promise chaining

我正在使用node,并且必须在从promise返回n之后进行n次API调用。我最初的想法是创建一个foreach循环,创建n个promises,将它们存储在一个数组中,然后调用

Promise.all(promisesArray).then(function(){...});

但是,这将包含在原始承诺的then()调用中,有效地设置了嵌套的承诺情况。

getN() //returns a promise object.
.then(function(n) {
    var promisesArray = [];
    for(var i = 0, i < n; i++) {
        var promise = new Promise(function(resolve, reject) { callSomething(i, resolve) });
        promisesArray.push(promise);

    }
    Promises.all(promisesArray).then(function(){
        ... 
        resolve; //resolves original promise
    });
.then(function(something) {...})
.catch(function(err) {...};

我该如何避免这种情况?谢谢你的帮助!

0 个答案:

没有答案