// 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

解决了:感谢大佬 @银
再分享一个:用 async/await 来处理异步
// 2s 之后返回双倍的值functiondoubleAfter2seconds(num) {returnnewPromise((resolve, reject) => {setTimeout(() => {resolve(2 * num)}, 2000);} )}asyncfunctiontestResult() {for(i = 0; i <= 5; i++){let result = await doubleAfter2seconds(30);console.log(i);console.log(result);}}testResult();