冷与热:复习
RxJS 中的 Observable 可以分类无论是热还是冷。冷 observable 仅在订阅时才会发出值,而热 observable 无论订阅状态如何都会发出值。
已解决混乱
全部RxJS 默认情况下是冷观测值?
是的,除了主题。
冷观测值可以转换为热观测值吗?
是的,使用诸如publish()、share()之类的运算符以及多播运算符(publishValue、shareValue等)。
withLatestFrom 与 Cold Observables 的行为
让 Cold$ 成为订阅的冷可观察值。 withLatestFrom(cold$, ...) 创建一个新的可观察量,它将在订阅后立即从 Cold$ 发出值,无论 Cold$ 最初何时订阅。
FromEvent () 和共享点击事件
RxJS.fromEvent() 默认创建冷 observable。但是,您提到的 CodePen 示例针对不同的订阅显示了不同的值,因为它使用 RxJS 版本 4,该版本对 fromEvent() 采用不同的行为。
冷热 Observables 的详细流程
Cold Observable:
Hot Observable:
结论
了解通过可观察量的数据流和运算符的实现对于驾驭热和冷可观察量的复杂性至关重要。关键考虑因素是相对于订阅的数据发送时间以及由于多个订阅而丢失或重复数据的可能性。
以上是热还是冷:RxJS Observables 有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!