RxJS v4.0
Reactive Extensions (Rx) 是一个基于事件的异步编程库,它是一种使用可观察序列(observable sequences)和LINQ风格的查询操作 。
数据序列(Data sequences)可以是多种类型,比如:来做文件或web service的流,web services requests,系统通知,甚至可以是各种事件。
Reactive Extensions 将所有数据序列(data sequences )都作为可观察序列(observable sequences)。一个应用程序可以subscribe 这一些可观察序列(observable sequences),然后接收异步通知来作为新的数据到达。
RxJS没有任何依赖,它可以快速的在JavaScript的异步数据流和同步单值运算之间进行交互。如下图所示:
Single return value | Mutiple return values | |
---|---|---|
Pull/Synchronous/Interactive | Object | Iterables (Array | Set | Map | Object) |
Push/Asynchronous/Reactive | Promise | Observable |
更准确地说,如果你知道如何使用原生的Array方法操作数据,那么你就已经知道如何使用RxJS了!T
Example code showing how similar high-order functions can be applied to an Array and an Observable
Iterable | Observable | ||
---|---|---|---|
| |