async是ES7才有的关于异步的关键解决方案;
async函数返回的是Promise对象;
async函数内部return语句返回的值,会成为then方法回调函数的参数。
async函数中会有await表达式,在执行过程中,遇到await表达式会暂停, 先执行回调函数的部分,等回调函数执行完毕后再继续执行await表达式。
await表达式仅在async函数中有效,如果再async函数外调用,会报错。
语法:
async function 变量(){
//两种写法
// let 变量2 = await Promise函数;
// console.log(变量2);
console.log(await Promise函数);
};
//调用
变量();
简写方式:
let 变量 = async() => {
// let 变量a = await Promise函数;
// console.log(变量a);
console.log(await Promise函数);
};
// 调用,这里是函数,所以是函数调用
变量();
适合用在多次调用Promise函数:
async function 变量3(){
let 变量4 = Promise函数1;
变量5 = Promise函数2;
变量6 = Promise函数3;
...
console.log(变量4);
console.log(变量5);
console.log(变量6);
...
};
// 调用
变量3();
也可以用上面的简写模式:
let 变量3 = async() => {
let 变量4 = Promise函数1;
变量5 = Promise函数2;
变量6 = Promise函数3;
...
console.log(变量4);
console.log(变量5);
console.log(变量6);
...
};
// 调用
变量3();
async函数也有all()方法:
async function 函数名(){
let 变量 = [await Promise函数,await Promise函数,]
console.log(变量);
};
// 调用
函数名();
另一种是:
let 变量 = async(){
let 变量1 = [await Promise函数,await Promise函数,]
console.log(变量);
};
// 调用
变量()