async awit概述
async函数可能包含0个或者多个await表达式。await表达式会暂停整个async函数的执行进程并出让其控制权,只有当其等待的基于promise的异步操作被兑现或被拒绝之后才会恢复进程。promise的解决值会被当作该await表达式的返回值。使用async / await关键字就可以在异步代码中使用普通的try / catch代码块。
await关键字只在async函数内有效。如果你在async函数体之外使用它,就会抛出语法错误 SyntaxError 。
async/await的目的为了
简化使用基于promise的API时所需的语法
。async/await的行为就好像搭配使用了生成器和promise。
async awit 示例
简单示例
//例如,如下代码:
async function foo() {
return 1
}
//等价于:
function foo() {
return Promise.resolve(1)
}
try cathc 示例
//例如,如下代码:
const tryDemo = async () => {
try {
return '成功';
} catch (error) {
return '错误';
}
};
//等价于:
const promiseDemo = () => {
return new Promise((resolve, reject) => {
if (1 < 2) {
resolve('成功')