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解决了!
我想等待 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解决了!