await 和 async
思考下面代码的输出:
console.log(1);
let promiseDemo = new Promise((resolve, reject) => {
console.log(2);
setTimeout(() => {
let random = Math.random();
if (random >= 0.2) {
resolve("success");
console.log(3);
} else {
reject("failed");
console.log(3);
}
}, 1000);
});
async function test() {
console.log(4);
let result = await promiseDemo;
return result;
}
test()
.then(result => {
console.log(5);
})
.catch(result => {
console.log(5);
});
console.log(6);
// 1 2 4 6 3 5
async 和 await 使用场景:
- 需要发送多个请求,而后面请求的发送总是需要依赖上一个请求返回的数据。
- 在循环中使用 await。如果在是循环中使用 await,就需要牢记一条:必须在 async 函数中使用。
参考:
文中图片可能来自网络,侵删
Leave a comment