文章插图
对于不支持 Promise.withResolvers() 方法的环境,我们可以通过通过自定义函数来实现对应的功能 。比如,TypeScript 源码中 , 定义了一个 defer 函数来实现 Promise.withResolvers() 方法同样的功能 。
export function defer<T = void>(): Deferred<T> {let resolve!: (value: T | PromiseLike<T>) => void;let reject!: (reason: unknown) => void;const promise = new Promise<T>((_resolve, _reject) => {resolve = _resolve;reject = _reject;});return { resolve, reject, promise };}
推荐阅读
- 有了LLM,所有程序员都将转变为架构师?
- 微信新功能上线!网友:这个真可以
- 电脑桌面什么都没有了怎么办
- 真正聪明的男人,都懂得用这4个“套路”,让女人粘到离不开你!
- 女人有没有给你戴绿帽子,就看这5个痕迹
- 车内放什么防身工具不违法?交警:这几种随便带,不怕查
- 4胎已生?44岁张柏芝抱娃照曝光,眉眼像爸,网友吵翻天:这到底图啥?
- 仅播2集,拿下热榜第一,我断言,这是《鹊刀门传奇》后唯一的天花板古装剧
- 《蜗居》看清宋太的试探,才懂宋思明这一招到底有多愚蠢
- 《浪姐5》来了个国外女星,颜值一流身材也很棒,这下有热闹看了