JavaScript异步/等待在通用循环中

问题描述:

我想使此示例https://*.com/a/33585993/1973680同步。JavaScript异步/等待在通用循环中

这是正确的实施?

 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

'异步/ await'不会使代码同步。它只是提供了一种编写异步代码的更方便的方法。是的,这看起来应该工作(为什么你不试试?),尽管我宁愿写'async()=>等待myfunc([1,2,3],err => err)' 。 –

+1

你是什么意思“同步”?或者它是一个错字,你的意思是异步? – Bergi

+1

你错过了'err => err'回调但没有在任何地方使用,看起来不像'异步函数'的正确用法。 – Bergi

这是正确的实现?

是的。 await像你期望的那样循环工作,如果那是你真正的问题。
我会建议却写

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