// 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 之后返回双倍的值
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();