async await 异步处理

一个异步函数的声明:

// async表示函数里有异步操作,await表示紧跟在后面的表达式需要等待结果。

async 函数名 function(){

  await 异步操作;// 可使用多个await执行多个异步操作

  异步操作执行完后的操作;

} // 返回一个 Promise 对象,可以使用then方法添加回调函数

 

注意点:

1、async函数返回的 Promise 对象,必须等到内部所有await命令后面的 Promise 对象执行完,才会发生状态改变,除非遇到return语句或者抛出错误。

   也就是说,只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数。

2、await命令后面的 Promise 对象如果变为reject状态,则reject的参数会被catch方法的回调函数接收到。如果await后面的异步操作出错,那么等同于async函数返回的 Promise 对象被reject

3、只要一个await语句后面的 Promise 变为reject,那么整个async函数都会中断执行。如果想要某个异步操作不影响后续异步操作,则把该异步操作放在try...catch当中。

   await命令后面的Promise对象,运行结果可能是rejected,所以最好把await命令放在try...catch代码块中。

 

 

 

此处是一个练手的题

 

posted @ 2018-11-06 14:51  真希  阅读(668)  评论(0编辑  收藏  举报