ES6中 async 与await的使用

215 阅读1分钟

ES6中 async 与await的使用

  1. async用于修饰函数
  2. await用于修饰promise对象
  3. await必须配合async使用
  4. 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修饰的函数的几种返回值情况

  1. 函数执行完,没有出错,但是没有返回值,async函数的返回值为promise的resolve状态,resolve回调没有参数
  2. 函数执行完,没有出错,有返回值,这个返回值是普通的结果,async函数的返回值为promise的resolve状态,resolve回调的参数为函数的真正的返回值
  3. 代码出错了,async函数的返回值为promise的reject状态,reject回调参数是失败的error对象
  4. 函数执行完,没有出错,有返回值,这个返回值本身就是promise对象,那么async函数的返回值就是这个promise对象