RxJS在JS生态系统和演进中的位置是什么?

What is RxJS's place in the JS ecosystem and evolution?

本文关键字:位置 是什么 JS 生态系统 RxJS      更新时间:2023-09-26

需要明确的是,我希望提供有关RxJS的事实信息以及它与JavaScript的发展的关系,而不是关于RxJS有多好的意见等问题。

我的问题是:RxJS(https://github.com/Reactive-Extensions/RxJS)是否在某种程度上是一种前瞻性的polyfill,因为Object.observe等在浏览器中还不是标准,或者它是否从根本上提供了超出本机JS提供的范围JS标准在可预见的未来寻求提供的东西?(当然,也许有一天原生JS可能能够实现目前不在雷达上的X,Y,Z;我对那些的猜测不感兴趣。也许这是一个组合。

我对这个问题的动机/兴趣是考虑在应用程序中学习和实现 RxJS 的投资,权衡本机 JS 解决方案可用的时间表,和/或是否有其他注意事项要提及我在这里没有涉及。

RxJS诞生于 Rx.NET 的JavaScript端口。 它不是Object.observe的前瞻性填充物。

RxJs 是一个用于处理异步操作的库,特别强调多值操作。 该库为开发人员提供了一种通用的"语言",他们可以用来编写功能代码来操作异步流,而不管流源如何。 相同的"语言"适用于UI事件,计时器事件,对象突变观察,动画帧,ajax调用,websocket消息,webworker消息,promise等的任意组合

Object.observe是一种观察对象变化的机制。 RxJS 不提供此功能。 但 RxJS 补充了此功能:当对象随时间变化时,可以将其视为异步对象更改通知的来源。 将这些观察结果转换为 RxJS 源(例如类似 Rx.Observable.observeObject(someObject) 的东西)是相当简单的,这样您就可以将对象更改作为另一个异步 RxJs 流来处理,其中包含 RxJS 为您提供的所有大量工具。

RxJs 是帮助我们进行响应式编程的库。

响应式编程是一种开发模式,它使用由UI事件,HTTP请求,文件系统,缓存等创建的异步数据流。因此,数据流是按时间顺序进行的持续事件序列。流可以发出值、错误和状态信号。

可观察量是监视这些流,并在流中发生的任何内容上触发功能。观察者可以订阅可观察量。

参考- http://technobelities.blogspot.in/2017/02/rxjs-quick-start.html

根据 MSDN -反应式扩展 (Rx) 是一个库,用于使用可观察序列和 LINQ 样式的查询运算符编写异步和基于事件的程序。反应式扩展将所有这些数据序列表示为可观察序列。应用程序可以订阅这些可观察序列,以便在新数据到达时接收异步通知。