官方宣布Promise新出了个方法,对你有用吗?

开发 前端
我想手动控制 Promise 的 fullfiled 的时机,所以需要把 resolve 给取出来,然后在我觉得适当的时机去执行这个 resolve,这样 Promise 就变 fullfiled 了。

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~

背景

有时候我们需要把 Promise 的 resolve 或者 reject 这两个参数给取出来,去实现某种目的

就比如下面例子,我想手动控制 Promise 的 fullfiled 的时机,所以需要把 resolve 给取出来,然后在我觉得适当的时机去执行这个 resolve,这样 Promise 就变 fullfiled 了

图片图片

但是这样挺麻烦的,我总是得定义一个额外的变量去存储这个 resolve

Promise.withResolvers

Promise 最近有一个新的方法进入 stage3 了,这个方法就是 Promise.withResolvers

他的作用是把 Promise实例、resolve、reject 解构出来供我们使用,还是刚刚的例子,使用 Promise.withResolvers

图片图片

Stage3 阶段

这个方法,目前处于Stage-3阶段,需要谷歌 117 以上的版本才能使用这个方法,Stage-3就是候选的意思,这些方法的提案分为几个阶段

  • Stage 0 - Strawman (草案阶段): 这是提案的初始阶段,通常是一些初步的想法或建议。这些提案还没有得到正式的讨论和接受。
  • Stage 1 - Proposal (提案阶段): 在这个阶段,提案已经经过了初步的讨论,并且有了详细的说明。它们通常由一个或多个TC39委员会成员提交,并等待进一步的审查和反馈。
  • Stage 2 - Draft (草案阶段): 在这个阶段,提案已经经过了初步的审查,包括语法和语义方面的考虑。提案可能会在这个阶段进行一些修改和改进。
  • Stage 3 - Candidate (候选阶段): 当提案达到这个阶段时,它们被认为是成熟的,可以被实施到JavaScript引擎中。这通常包括详细的规范文档和实际的参考实现。
  • Stage 4 - Finished (完成阶段): 这是提案的最终阶段,表示它们已经被正式接受为ECMAScript标准的一部分,可以在各种JavaScript环境中广泛使用。

期待不久的将来,这个方法能到Stage 4阶段,并在项目中广泛使用!!!!牛bi!!!!!

责任编辑:武晓燕 来源: 前端之神
相关推荐

2013-09-03 15:16:05

软件专利软件

2020-12-03 14:59:31

Python编程工具

2021-01-29 08:09:32

Service接口表现层

2021-08-06 21:16:08

人脸识别AI人工智能

2016-10-28 11:55:10

2021-08-14 23:11:37

区块链加密货币技术

2019-05-09 08:36:11

5GWiFi4G

2020-12-30 15:13:34

Python数据工具

2020-03-29 08:27:05

Promise异步编程前端

2020-06-08 11:11:19

互联网数据技术

2021-08-26 05:00:44

生产环境内存

2021-09-01 05:41:03

Promise CLI项目

2022-03-14 11:05:01

RocketMQRedis缓存

2020-06-20 14:09:01

信息安全数据技术

2021-11-26 05:50:50

Promise JS项目

2011-04-14 09:21:18

IPS入侵预防系统虚拟机

2018-04-19 13:54:16

易拉罐路由器Wi-Fi

2016-09-18 15:06:50

LinuxSnap打包方式

2013-08-13 10:46:51

LinuxLinux命令

2018-08-03 10:02:05

Linux命令
点赞
收藏

51CTO技术栈公众号