手写Promise.withResolvers()
00 分钟
2023-12-26
2024-5-18
type
status
date
slug
summary
category
password
tags
icon
😆
Promise.withResolvers() 静态方法返回一个对象,其包含一个新的 Promise 对象和两个函数,用于解决或拒绝它,对应于传入给 Promise() 构造函数执行器的两个参数。

自定义实现Promise.withResolvers()

使用场景

当你有一个 promise,需要通过无法包装在 promise 执行器内的某个事件监听器来解决或拒绝。以下示例将 Node.js 的可读流转换为异步可迭代对象。这里的每个 promise 代表一个可用的数据批次,每次读取当前批次时,就会为下一个批次创建一个新的 promise。请注意,事件监听器只附加了一次,但实际上每次都调用了不同版本的 resolve 和 reject 函数。
或者说是接受拒绝的回调逻辑写在promise内部显得臃肿:
💡
欢迎您在底部评论区留言,一起交流~