当前位置: 首页 > news >正文

ES2017 新特性 (Async和await)

1.功能概述


1、async 和 await 简化异步函数的写法;
2、对象方法扩展 对象方法扩展;


2.async 和 await 概述:


async 和 await 两种语法结合可以让异步代码看起来像同步代码一样;
简化异步函数的写法;


async 函数:


概述:
1. async 函数的返回值为 promise 对象;
2. promise 对象的结果由 async 函数执行的返回值决定;

 

代码实现: 

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>async 函数</title></head><body><script>// async 函数:异步函数 async function fn() {// return 123; // 返回普通数据 // 若报错,则返回的 Promise 对象也是错误的 // throw new Error("出错啦!"); // 若返回的是 Promise 对象,那么返回的结果就是 Promise 对象的结果return new Promise((resolve, reject) => {// resolve("成功啦!"); reject("失败啦!");})}const result = fn();// console.log(result); // 返回的结果是一个 Promise 对象 // 调用 then 方法 result.then(value => {console.log(value);}, reason => {console.warn(reason);});</script></body>
</html>

await 表达式: 
 


概述: 
 
1. await 必须写在 async 函数中; 
 
 2. await 右侧的表达式一般为 promise 对象; 
 
 3. await 返回的是 promise 成功的值; 
 
4. await 的 promise 失败了, 就会抛出异常, 需要通过 try...catch 捕获处理;

代码示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>await 表达式</title></head><body><script>// async 函数 + await 表达式:异步函数 // 创建 Prmise 对象 const p = new Promise((resolve, reject) => {resolve("成功啦!");})async function fn() {// await 返回的是 promise 成功的值 let result = await p;console.log(result); // 成功啦! }fn();</script></body>
</html>

 


http://www.mrgr.cn/news/55574.html

相关文章:

  • 每日回顾:简单用C写 归并排序
  • 【SpringBoot】12 Json数据校验
  • 【设计模式七大设计原则】
  • 碰到这个问题请更新或重新安装fastapi版本
  • Vue项目兼容IE11
  • 数据结构邻接表表示图的深度优先搜索遍历有向图+无向图(C语言代码+终端输入内容)
  • Linux -- 进程间通信、初识匿名管道
  • 企业注销后微信商户平台账号注销商户主体的详细操作流程及解答
  • Grid Designer 网格设计师
  • Yolo目标检测:Yolo v1简介
  • tftpd.exe源代码分析第一篇get 2.txt
  • 头歌——人工智能(启发式搜索算法)
  • Linux安装Python解释器
  • ThinkPHP3.1框架.zip
  • 特种作业操作烟花爆竹试题分享
  • 尚硅谷redis第144节 淘汰策略及使用建议 答疑
  • Nature 正刊丨相纯χ-Fe5C2高效转化合成气为线性α-烯烃
  • upload-labs靶场Pass-10
  • PH47代码框架软件二次开发极简教程
  • HarmonyOS开发 - ohpm环境变量配置
  • JAVA课设-图书指引系统(前后端分离)
  • 期权懂|股票下跌时可以使用期权止损吗?
  • 绝对差值的和
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-1
  • 高级java每日一道面试题-2024年10月19日-消息队列[RabbitMQ]-RabbitMQ中积压了大量的消息,如何处理?
  • Saprk:数据插入的优化(forachPartition)