typescript - lastValueFrom 而不是 toPromise() 为什么?
问题描述
我看到 rxjs 将弃用 toPromise()。我们应该使用 lastValueFrom 代替。我想问这背后的原因是什么?
语法 .toPromise() 更加干净。
解决方案
Ben Lesh 关于 rxjs7 的几次公开演讲已经涵盖了这个主题。总而言之,.toPromise()
从未真正正常运行。这是因为响应要么是解析的值,要么是 undefined <T | undefined>
,这不是 Promise 的工作方式。但是,.lastValueFrom()
将返回一个类型的承诺,<T>
或者如果没有发出任何值,它将抛出一个空错误。额外的好处是.lastValueFrom()
可配置的,如果 observable 不发出任何内容,您可以分配默认值。
推荐阅读
- node.js - 如何从电子js应用程序调用spring boot rest服务
- c++ - 非捕获 lambda 生命周期
- android - 如何在溢出菜单上设置点击监听器 - 材质工具栏
- reactjs - 如何在 Facebook Auth 上正确处理长寿令牌
- javascript - 如何使用 react-native 创建文件扩展名?
- python - 试图抓取页面,但缺少
- python - Django对外部属性求和
- python - 如何计算从现在开始的总秒数加上 n 天
- java - 使用 Micronaut CLI 创建应用程序、控制器
- python - 将 pandas 数据框除以其索引列和行的总和