JavaScript异步/等待在通用循环中
问题描述:
我想使此示例https://stackoverflow.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)
}`
答
这是正确的实现?
是的。 await
像你期望的那样循环工作,如果那是你真正的问题。
我会建议却写
async function times(n, f) {
while (n-- > 0)
await f();
}
'异步/ await'不会使代码同步。它只是提供了一种编写异步代码的更方便的方法。是的,这看起来应该工作(为什么你不试试?),尽管我宁愿写'async()=>等待myfunc([1,2,3],err => err)' 。 –
你是什么意思“同步”?或者它是一个错字,你的意思是异步? – Bergi
你错过了'err => err'回调但没有在任何地方使用,看起来不像'异步函数'的正确用法。 – Bergi