【问题标题】:lastValueFrom instead of toPromise() why?lastValueFrom 而不是 toPromise() 为什么?
【发布时间】:2021-09-05 00:05:57
【问题描述】:

我看到 rxjs 将弃用 toPromise()。我们应该使用 lastValueFrom 代替。 我想问这背后的原因是什么?

.toPromise() 语法更加简洁。

【问题讨论】:

    标签: typescript rxjs


    【解决方案1】:

    Ben Lesh 关于 rxjs7 的多次公开演讲已经涵盖了这个主题。总而言之,.toPromise() 从未真正正常运行。这是因为响应要么是已解析的值,要么是未定义的<T | undefined>,这不是 Promise 的工作方式。但是,.lastValueFrom() 将返回一个 <T> 类型的承诺,或者如果没有发出任何值,它将抛出一个空错误。额外的好处是 .lastValueFrom() 是可配置的,如果 observable 不发出任何内容,您可以分配默认值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-13
      • 2021-09-19
      • 2011-11-12
      • 2018-04-01
      • 2010-12-12
      • 2010-10-11
      • 1970-01-01
      • 2023-02-16
      相关资源
      最近更新 更多