ES2020新特性

作者 : 开心源码 本文共657个字,预计阅读时间需要2分钟 发布时间: 2022-05-13 共209人阅读

https://kangax.github.io/compat-table/es6/?

查询各个浏览器对ES的支持:https://kangax.github.io/compat-table/es2016plus/

1. Promise.allSettled

Promise.all 具备并发执行异步任务的能力。但它的最大问题就是假如其中某个任务出现异常(reject),所有任务都会挂掉,Promise直接进入 reject 状态。

想象这个场景:你的页面有三个区域,分别对应三个独立的接口数据,使用 Promise.all 来并发三个接口,假如其中任意一个接口服务异常,状态是reject,这会导致页面中该三个区域数据全都无法渲染出来,由于任何 reject 都会进入catch回调, 很显著,这是无法接受的,如下:

我们需要一种机制,假如并发任务中,无论一个任务正常或者者异常,都会返回对应的的状态(fulfilled 或者者 rejected)与结果(业务value 或者者 拒因 reason),在 then 里面通过 filter 来过滤出想要的业务逻辑结果,这就能最大限度的保障业务当前状态的可访问性,而 Promise.allSettled 就是处理这问题的。

2. Optional Chaining

3.?Nullish coalescing Operator

4.?globalThis?

目的就是提供一种标准化方式访问全局对象,有了 globalThis 后,你可以在任意上下文,任意时刻都能获取到全局对象

5.String.prototype.matchAll

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » ES2020新特性

发表回复