如何for循环一个异步的函数呢?
// 2s 之后返回双倍的值 function doubleAfter2seconds(num) { return new Promise((resolve, reject) => { setTimeout(() => { resolve(2 * num) }, 2000); } ) } async function testResult() { let result = await doubleAfter2seconds(30); console.log(result); } testResult(); |
// 返回结果: 60
如果说希望循环输出结果,for应该怎么写呢?希望的结果如下:
第1次循环:60
第2次循环:60
第3次循环:60
第4次循环:60
1 回复
解决了:感谢大佬 @银
再分享一个:用 async/await 来处理异步
// 2s 之后返回双倍的值 function doubleAfter2seconds(num) { return new Promise((resolve, reject) => { setTimeout(() => { resolve(2 * num) }, 2000); } ) } async function testResult() { for (i = 0; i <= 5; i++){ let result = await doubleAfter2seconds(30); console.log(i); console.log(result); } } testResult(); |