Async Await
本文参考自:https://www.cnblogs.com/YMaster/p/6920441.html
async/await 规则:
-
async 表示这是一个 async 函数,而 await 只能在这个函数里面使用。
-
await 表示在这里等待 await 后面的操作执行完毕,再执行下一句代码。
- await 后面紧跟着的最好是一个耗时的操作或者是一个异步操作。
使用注意事项:
1、处理异常
await
命令后面的Promise
对象,运行结果可能是rejected
,所以最好把await
命令放在try...catch
代码块中。
async function myFunction() {
try {
await somethingThatReturnsAPromise();
} catch (err) {
console.log(err);
}
}
或者:
async function myFunction() {
await somethingThatReturnsAPromise()
.catch(function (err) {
console.log(err);
});
}
2、并发请求
多个await
命令后面的异步操作,如果不存在继发关系,最好让它们同时触发。
let [foo, bar] = await Promise.all([getFoo(), getBar()]);
3、async和await 返回的都是Promise对象
async
函数完全可以看作多个异步操作,包装成的一个 Promise 对象,而await
命令就是内部then
命令的语法糖。
4、async是promise的语法糖。
5、try catch可以捕获到
作者:孟繁贵 Email:meng010387@126.com 期待共同进步!