async概述
1.简介
async 是 ES7 才有的与异步操作有关的关键字,和 Promise , Generator 有很大关联的。
2.语法
async function name([param[, param[, … param]]]) { statements }
name: 函数名称。
param: 要传递给函数的参数的名称。
statements: 函数体语句。
基础写法:
async function demo(name) {
console.log(name);
return 'bbb'
}
3.返回值
async 函数返回一个 Promise 对象
async function demo(name) {
console.log(name);
return 'bbb'
}
console.log(demo());
可以使用 then 方法添加回调函数
async function demo(name) {
console.log(name);
return 'bbb'
}
demo('lis').then(res => {
console.log(res);
})
可以使用 catch 方法捕获async函数的错误
async function demo(name) {
if (name === 'lis') {
return name
} else {
throw new Error(name + '是一个错误名称')
}
}
demo('lis').then(res => {
console.log('first');
console.log(res);
}).catch(err => {
console.log('first');
console.log(err);
})
demo('wang').then(res => {
console.log('second');
console.log(res);
}).catch(err => {
console.log('second');
console.log(err);
})