博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
async await 更简洁的异步
阅读量:4587 次
发布时间:2019-06-09

本文共 638 字,大约阅读时间需要 2 分钟。

一个异步函数的声明:

// 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代码块中。

转载于:https://www.cnblogs.com/cheeseCatMiao/p/9915232.html

你可能感兴趣的文章
shell 分支/循环
查看>>
api服务端接口安全
查看>>
python中的time模块
查看>>
MyBatis-Plus的简单使用
查看>>
C++学习笔记-标准库类型-Vector类型
查看>>
Oracle 树操作(select…start with…connect by…prior)
查看>>
python中的operator.itemgetter函数
查看>>
h5新特性--- 多媒体元素
查看>>
jQuery实现发送短信验证码后60秒倒计时
查看>>
【CSS】盒模型+选择器(你选择的要操作的对象)
查看>>
EM算法总结
查看>>
centos7开启防火墙和指定端口
查看>>
Android系统对话框——自己定义关闭
查看>>
词法分析器 /c++实现
查看>>
Visual Studio2012 Lua插件--BabeLua
查看>>
SOA两个接口通常用于实现更:SOAP vs REST
查看>>
采用UltraISO制作U菜Win7安装盘,显现"File not find /BOOT/CDMENU.EZB.ezb"错误
查看>>
AfxMessageBox和MessageBox差别
查看>>
循环队列
查看>>
华为路由器配置
查看>>