ES6中 async 与await的使用
- async用于修饰函数
- await用于修饰promise对象
- await必须配合async使用
- async修饰的函数返回值为promise 对象
async与await使用的基本结构
async function testFunc(){
console.log('testFunc执行了.....');
return new Promise((resolve, reject)=>{
resolve();
});
};
let result = testFunc();
console.log(result);
result.then((value)=>{
console.log('then执行了...:', value);
})
.catch((error)=>{
console.log('catch执行了...:', error);
})
async修饰的函数的几种返回值情况
- 函数执行完,没有出错,但是没有返回值,async函数的返回值为promise的resolve状态,resolve回调没有参数
- 函数执行完,没有出错,有返回值,这个返回值是普通的结果,async函数的返回值为promise的resolve状态,resolve回调的参数为函数的真正的返回值
- 代码出错了,async函数的返回值为promise的reject状态,reject回调参数是失败的error对象
- 函数执行完,没有出错,有返回值,这个返回值本身就是promise对象,那么async函数的返回值就是这个promise对象