Javascript 推送并等待数组中的异步承诺

Javascript push and wait for async promises in array

我想等待 Promises 数组,但我无法在不执行它们的情况下添加它们。 所以我不得不创建一个包装函数,但是 Promise.all 不执行它们。

这是我的代码:

    const set = new Set(Array.from([1, 2, 3, 4, 5]));

    const func = async (input) => {
        let result = await asyncFunc(input);
        return result;
    }

    var promises = [];
    for(const element of set) {
        promises.push(() => { func(element) });
    }

    await Promise.all(promises).then(values => {
        console.log(values);
    }); 

我希望 Promise.all 执行 func 函数,但它没有。我怎样才能达到这个结果?

您可以只将 promises 推送到您的数组,而不是函数:

    const set = new Set(Array.from([1, 2, 3, 4, 5]));

    const func = async (input) => {
        let result = await asyncFunc(input);
        return result;
    }

    var promises = [];
    for(const element of set) {
        promises.push(func(element));
    }

    await Promise.all(promises).then(values => {
        console.log(values);
    }); 

我发现了我的问题!

我的问题是,当这是案例!

我用Promise.all解决了