Javascript:在循环继续之前等待函数结束[重复]

Posted

技术标签:

【中文标题】Javascript:在循环继续之前等待函数结束[重复]【英文标题】:Javascript: await function endend before loop continue [duplicate] 【发布时间】:2019-04-30 09:34:49 【问题描述】:

我也有类似的情况

array.forEach(item => 
 function_fetch(item)
)

现在我需要在该循环继续之前他等待函数结束并做必须做的事情,然后用其他项目调用函数

【问题讨论】:

没有看到内在功能是不可能帮助你的。请修改问题以包含 minimal reproducible example - 使用编辑器中的 sn-p 按钮 -> <> 可能是your async function doesn't contain an await statement? 即使你的 foreach 中有 await ,它也必须是 forEach(async (item) => ) ,它会返回一个承诺,你也必须等待。 【参考方案1】:

你不能直接在 forEach 函数中使用 await。

所以你可以使用简单的 for of 循环。

async function fetching () 
  for ( const item of array) 
    await function_fetch(item)
  

await 函数只能在任何异步函数中。

【讨论】:

以上是关于Javascript:在循环继续之前等待函数结束[重复]的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript在继续之前睡眠/等待[重复]

javascript:循环中如何等待方法完成了再继续?

如何在DispatcherTimer结束之前暂停for循环?

Angular2 Observable - 在继续之前等待多个函数调用

Javascript等待Promise在返回响应之前完成for循环

JavaScript(异步)如何确定在继续之前要“等待”啥?