一般循环中的javascript async / await

时间:2016-12-14 00:13:28

标签: javascript loops async-await ecmascript-2017

我想让这个例子https://stackoverflow.com/a/33585993/1973680同步。

这是正确的实施吗?

        let times= async (n,f)=>{while(n-->0) await f();} 

        times(5,()=>
               myfunc([1,2,3],err => err)
              )

myfunc本身就是一个等待各种其他功能的异步函数:

async myfunc(params,cb){

   await a( err => err )
   await b( err => err )
   await c( err => err )

}` 

1 个答案:

答案 0 :(得分:10)

  

这是正确的实施吗?

是。如果那是您的实际问题,await就像您期望的那样在循环中工作 不过我会建议写

async function times(n, f) {
    while (n-- > 0)
        await f();
}