Vue中使用async/await解决异步请求问题

1.名词解释

   async:

      async的用法,它作为一个关键字放到函数前面,用于表示函数是一个异步函数,因为async就是异步的意思, 异步函数也就意味着该函数的执行不会阻塞后面代码的执行。async函数的返回值总是一个Promise 

   await:

     await的含义为等待。意思就是代码需要等待await后面的函数运行完并且有了返回结果之后,才继续执行下面的代码。await操作只能用在async函数中,否则会报错。

2.需要注意:

   1. 没有显式return,相当于return Promise.resolve(undefined);

     2. return非Promise的数据data,相当于return Promise.resolve(data);

     3. return Promise, 会得到Promise对象本身

3.用法:

  • async总是返回Promise,因此,其后面可以直接调用then方法,
  • 函数内部return返回的值,会成为then回调函数的参数
  • 函数内部抛出的错误,会被then的第二个函数或catch方法捕获到

4.参考链接:

  1.理解 JavaScript 的 async/await

  2.Promise 有可能 reject 啊,怎么处理呢?如果需要并行处理3个步骤,再等待所有结果,又该怎么处理呢?

原文地址:https://www.cnblogs.com/yxkNotes/p/11550608.html