如何知道多个异步函数何时完成?

时间:2016-02-25 21:50:34

标签: javascript node.js asynchronous es6-promise

如何解决这个异步问题? (使用node.js)

promise是遍历列表,每次迭代都会调用多个异步函数。我怎么知道所有异步函数何时完成,以便我可以解决这个承诺?

我发现的所有内容都是使用效率不高的setTimeout()

以下是我的代码的简化示例:

function myFunction(parameter){
    return new Promise(function (resolve, reject) {
        var resultToReturn = []
        _.each(list, function(el){
            doSomethingAsync(el, function(result){
                resultToReturn.push(result)
            });
            doSomethingElseAsync(el, function(result){
                resultToReturn.push(result)
            });
        });
        // How to call this ⬋ only when all async functions are finished ?
        resolve(resultToReturn)
    });
}

myFunction(IAmAParameter).then(function(resultFromPromise){
    console.log(resultFromPromise);
});

我知道这种问题已被多次提出,但答案过于具体,在这种情况下不相关。

实施例。 :

0 个答案:

没有答案