async-await的学习
async异步函数写法
async function foo() {
}
const bar = async () => {
}
class xxx {
async xxx() {
}
}
异步函数执行流程
async function foo() {
console.log('111111111111');
console.log('222222222222');
console.log('333333333333');
}
console.log('code start!~');
foo()
console.log('code end!~');
异步函数的返回值
async function foo() {
console.log('异步函数代码体执行~');
return new Promise((resolve, reject)=>{
resolve('abc')
})
}
const promise = foo()
promise.then(res => {
console.log('-------', res);
})
异步函数的异常
async function foo() {
console.log('异步函数代码体执行~');
throw '错误~'
console.log('异步函数的剩余代码~');
}
const promise = foo()
promise.catch(err => {
console.log(err);
})
console.log('还有代码要执行');
async中使用await关键字
function requestData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(11111)
}, 1000);
})
}
async function foo() {
const res1 = await requestData()
console.log(res1)
const res2 = await requestData()
console.log(res2)
}
foo().catch(err => {
console.log(err);
})