使用循环链接异步等待



我有两个带有循环的函数,我想按顺序执行:

  • 功能A执行

  • 在功能A中,有一个For循环触发外部功能

  • 一旦函数A中的循环完成,我们就从函数B 开始

我尝试了以下代码,但函数B并行启动,不等待函数A完成:

async function sendPosts() {
console.log("start send posts")
for (let post of posts) {
...

await channel.send({
...
}).then((message) => {
externalFunction(message);
})
.catch(err => console.log(err));
}
console.log("finish send posts")    
}
async function sendComments() {
console.log("start send comments")
for (let comment of commentsData) {
... 
}
console.log("finish send comments")
}   
sendPosts().then(sendComments());
不等待循环的For。你正在寻找以下
for await (const variable of iterable) 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of

Foreach循环具有相同的

最新更新