JS 的 LazyPromise:惰性、可取消、同步发射的 Promise 原语
来源:github.com — 2026-08
📋 概述
LazyPromise 是一个新型 Promise 类原语,比原生 Promise 更强大:它惰性且可取消,同步发射而非依赖微任务,支持类型化错误与依赖注入。作者以 Observable 为起点——保留其优秀的取消机制,但把单次发射特性收敛为 JavaScript 版的 Single,从而规避 RxJS 的菱形问题与同步重入的坑。
🔑 核心要点
- LazyPromise 惰性、可取消,同步发射而不进微任务队列。
- 支持类型化错误与依赖注入,扩展了原生 Promise 的能力边界。
- 作者认为它是 JS 版的 Single,兼具 Observable 的取消与 Promise 的单发特性。
- 能规避 RxJS 的菱形问题与同步重入导致的反常行为。
💡 金句
它像原生 promise 一样,却又惰性、可取消、同步发射,还支持类型化错误与依赖注入。
👍 0
👎 0
← 返回 Lobsters 首页