【发布时间】:2021-09-05 00:05:57
【问题描述】:
我看到 rxjs 将弃用 toPromise()。我们应该使用 lastValueFrom 代替。 我想问这背后的原因是什么?
.toPromise() 语法更加简洁。
【问题讨论】:
标签: typescript rxjs
我看到 rxjs 将弃用 toPromise()。我们应该使用 lastValueFrom 代替。 我想问这背后的原因是什么?
.toPromise() 语法更加简洁。
【问题讨论】:
标签: typescript rxjs
Ben Lesh 关于 rxjs7 的多次公开演讲已经涵盖了这个主题。总而言之,.toPromise() 从未真正正常运行。这是因为响应要么是已解析的值,要么是未定义的<T | undefined>,这不是 Promise 的工作方式。但是,.lastValueFrom() 将返回一个 <T> 类型的承诺,或者如果没有发出任何值,它将抛出一个空错误。额外的好处是 .lastValueFrom() 是可配置的,如果 observable 不发出任何内容,您可以分配默认值。
【讨论】: