如何让 for 循环等待所有异步函数完成。异步函数里面有多个异步函数
How to make for loop wait for all async functions to finish. async functions has multiple async functions inside in it
我有一个数组,例如 [1,2,3,4,5,6,7,8,10]。
我喜欢一次处理一件物品。 同步。
我也混用了非异步函数。
var array = [1,2,3,4,5,6,7,8,9,10]
for(i=0; i< array.length; i++){
var result = await fun1(array[i]);
console(result) //expecting print out 2,4,6,8,10...20 synchronously
}
async function fun1(item){
return fun2(item);
}
async function fun2(item){
a = new A(item)
return a.hello()
}
class A{
constructor(item){
this.item = item;
}
hello(){
//do something
return this.item * 2;
}
}
我怎样才能在 Node.JS 实现它?
您可以使用 Promise.all 功能。
const promises = [];
const array = [1,2,3,4,5,6,7,8,9,10]
array.forEach((num)=>{
promises.push(func1(num))
});
Promise.all(promises)
.then(response => console.log(response)); // your required response
我有一个数组,例如 [1,2,3,4,5,6,7,8,10]。
我喜欢一次处理一件物品。 同步。
我也混用了非异步函数。
var array = [1,2,3,4,5,6,7,8,9,10]
for(i=0; i< array.length; i++){
var result = await fun1(array[i]);
console(result) //expecting print out 2,4,6,8,10...20 synchronously
}
async function fun1(item){
return fun2(item);
}
async function fun2(item){
a = new A(item)
return a.hello()
}
class A{
constructor(item){
this.item = item;
}
hello(){
//do something
return this.item * 2;
}
}
我怎样才能在 Node.JS 实现它?
您可以使用 Promise.all 功能。
const promises = [];
const array = [1,2,3,4,5,6,7,8,9,10]
array.forEach((num)=>{
promises.push(func1(num))
});
Promise.all(promises)
.then(response => console.log(response)); // your required response