Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么是RxJS';s在JS生态系统和进化中的位置?_Javascript_Rxjs - Fatal编程技术网

Javascript 什么是RxJS';s在JS生态系统和进化中的位置?

Javascript 什么是RxJS';s在JS生态系统和进化中的位置?,javascript,rxjs,Javascript,Rxjs,说清楚一点,我希望能提供关于RxJS的事实信息,以及它与JavaScript发展的关系,而不是关于RxJS有多好的观点等等 我的问题是:RxJS()是否有点前瞻性,因为等还不是浏览器的标准,还是它从根本上提供的东西超出了原生JS提供的范围,超出了JS标准在可预见的未来寻求提供的范围?(当然,也许有一天,原生JS可能能够在X、Y、Z这三个方面都不在雷达范围之内;我对这些方面的猜测不感兴趣。)也许这是一个组合 我在这个问题上的动机/兴趣是考虑在应用程序中学习和实现RxJS的投资,与可用的原生JS解决

说清楚一点,我希望能提供关于RxJS的事实信息,以及它与JavaScript发展的关系,而不是关于RxJS有多好的观点等等

我的问题是:RxJS()是否有点前瞻性,因为等还不是浏览器的标准,还是它从根本上提供的东西超出了原生JS提供的范围,超出了JS标准在可预见的未来寻求提供的范围?(当然,也许有一天,原生JS可能能够在X、Y、Z这三个方面都不在雷达范围之内;我对这些方面的猜测不感兴趣。)也许这是一个组合


我在这个问题上的动机/兴趣是考虑在应用程序中学习和实现RxJS的投资,与可用的原生JS解决方案的时间线进行权衡,和/或是否有其他我在这里没有提到的考虑因素。

RxJS是作为Rx.NET的JavaScript端口诞生的。它不是
对象的前瞻性多边形填充。请观察

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


Object.observe
是一种观察对象变化的机制。RxJS不提供此功能。但RxJS补充了这一功能:随着时间的推移,对象会发生变化,因此可以将其视为异步对象更改通知的来源。将这些观测值转换为RxJS源代码(例如类似于
Rx.Observable.observeObject(someObject)
)的东西)非常简单,这将使您能够处理对象更改,就像另一个异步RxJs流,以及RxJs为您提供的大量工具一样。

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

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

可观察的是观察这些流,并触发流中发生的任何事件。观察者可以订阅观察者

参考-

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

这个问题可能是quora的一个好问题。comI认为RxJs解决的问题(或至少以不同的方式)与ES使用的本机语法/功能不同。quora链接回本帖: