RxJS

  1. RxJS
    1. 需要 Reactive 的原因
    2. 关于 Reactive Extension
    3. 与 Promise 的区别
    4. 个人总结

RxJS

RxJS 是一系列使用可观察的集合来组合异步和事件系统,主要思想是流。

需要 Reactive 的原因

应用,尤其是网络应用已经改变的太快了,从静态页面到 ajax 的动态的。每次我们都添加了更复杂,更多数据,和异步的行为进入我们的应用中。我们使用 Reactive Extensions,我们能够拥有这些工具来管理和统计,因为是事件驱动的,响应式的和能复原的。

关于 Reactive Extension

使用 RXJS,开发者用观察者对象来代表异步数据流,用许多的操作符查询异步数据流,使用调度器来参数化异步数据流的并发。简单地说,RXJS 就是观察者和操作符和调度器。

无论你是在管理一个 web 应用层的 js 还是在服务器层的 nodejs app,你需要去处理异步和事件管理系统。尽管一些模式例如 Promise 模式是新兴模式,处理异常,取消和同步都是困难并且容易出错的。

使用 RxJS,你可以代表多个异步数据流(来自不同的源,比如推文,电脑事件,web 请求等等)。并且使用观察者对象订阅事件流。当事件发生时,可观察到的通知订阅的观察者。

因为可观察的序列是数据流,我们可以使用标准的查询操作来查询他们。因此你可以筛选,

与 Promise 的区别

Promise 擅长于处理异步操作。例如用一个 Ajax 来查询一个服务,然后得到一个预期的值,然后结束。RXJS 统一了 Promise,还有 DOM 事件的回调,web worker 以及 web socket。统一了这些概念使得丰富了。

个人总结

通过观察者模式来对于事件回调或者说是异步的东西来进行订阅,然后对其结果进行流式的操作。

各种各样的事件其实都是流,在 RP 中,每个流都有一系列方法,比如 map,filter,scan 等。我们在流上调用这些方法,会返回基于点击事件流的新的流。原来的点击事件不会改变,immutable。而且我们就可以链式调用了。

适合于外部交互事件比较多的函数响应式编程(FPR),比较适合于游戏以及编辑器这种外部输入极多的应用。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com

文章标题:RxJS

文章字数:626

本文作者:泽鹿

发布时间:2019-08-28, 16:45:23

最后更新:2019-08-28, 20:09:27

原始链接:http://panyifei.github.io/2019/08/28/前端技术/js/框架以及规范/RxJS/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏