I have the following code:
original_test(){
var arr=[1,2,3]
arr.forEach((a: any) => {
console.log("Before")
this.test().then(()=>{
console.log("After")
});
});
}
test(){
return new Promise((resolve) => {
resolve(true)
});
}
My problem is that I want my code to wait for the next iteration of forEach (until the promise completes). That means I want as console output:
"Before"
"After"
"Before"
"After"
"Before"
"After"
And what I get is:
"Before"
"Before"
"Before"
"After"
"After"
"After"
Many thanks!
CodePudding user response:
I would do it like this:
async original_test() {
var arr=[1, 2, 3];
for(const item of arr) {
console.log("Before")
await this.test()
console.log("After")
}
};