一 建立操做html
用于建立Observable的操做符react
Create — 经过调用观察者的方法从头建立一个Observable数组
Defer — 在观察者订阅以前不建立这个Observable,为每个观察者建立一个新的Observable缓存
Empty/Never/Throw — 建立行为受限的特殊Observable数据结构
From — 将其它的对象或数据结构转换为Observable并发
Interval — 建立一个定时发射整数序列的Observable函数
Just — 将对象或者对象集合转换为一个会发射这些对象的Observable测试
Range — 建立发射指定范围的整数序列的Observablespa
Repeat — 建立重复发射特定的数据或数据序列的Observable线程
Start — 建立发射一个函数的返回值的Observable
Timer — 建立在一个指定的延迟以后发射单个数据的Observable
二 变换操做
这些操做符可用于对Observable发射的数据进行变换,详细解释能够看每一个操做符的文档
Buffer — 缓存,能够简单的理解为缓存,它按期从Observable收集数据到一个集合,而后把这些数据集合打包发射,而不是一次发射一个
FlatMap — 扁平映射,将Observable发射的数据变换为Observables集合,而后将这些Observable发射的数据平坦化的放进一个单独的Observable,能够认为是一个将嵌套的数据结构展开的过程。
GroupBy — 分组,将原来的Observable分拆为Observable集合,将原始Observable发射的数据按Key分组,每个Observable发射一组不一样的数据
Map — 映射,经过对序列的每一项都应用一个函数变换Observable发射的数据,实质是对序列中的每一项执行一个函数,函数的参数就是这个数据项
Scan — 扫描,对Observable发射的每一项数据应用一个函数,而后按顺序依次发射这些值
Window — 窗口,按期未来自Observable的数据分拆成一些Observable窗口,而后发射这些窗口,而不是每次发射一项。相似于Buffer,但Buffer发射的是数据,Window发射的是Observable,每个Observable发射原始Observable的数据的一个子集
三 过滤操做
这些操做符用于从Observable发射的数据中进行选择
Debounce — 只有在空闲了一段时间后才发射数据,通俗的说,就是若是一段时间没有操做,就执行一次操做
Distinct — 去重,过滤掉重复数据项
ElementAt — 取值,取特定位置的数据项
Filter — 过滤,过滤掉没有经过谓词测试的数据项,只发射经过测试的
First — 首项,只发射知足条件的第一条数据
IgnoreElements — 忽略全部的数据,只保留终止通知(onError或onCompleted)
Last — 末项,只发射最后一条数据
Sample — 取样,按期发射最新的数据,等因而数据抽样,有的实现里叫ThrottleFirst
Skip — 跳过前面的若干项数据
SkipLast — 跳事后面的若干项数据
Take — 只保留前面的若干项数据
TakeLast — 只保留后面的若干项数据
四 组合操做
组合操做符用于将多个Observable组合成一个单一的Observable
And/Then/When — 经过模式(And条件)和计划(Then次序)组合两个或多个Observable发射的数据集
CombineLatest — 当两个Observables中的任何一个发射了一个数据时,经过一个指定的函数组合每一个Observable发射的最新数据(一共两个数据),而后发射这个函数的结果
Join — 不管什么时候,若是一个Observable发射了一个数据项,只要在另外一个Observable发射的数据项定义的时间窗口内,就将两个Observable发射的数据合并发射
Merge — 将两个Observable发射的数据组合并成一个
StartWith — 在发射原来的Observable的数据序列以前,先发射一个指定的数据序列或数据项
Switch — 将一个发射Observable序列的Observable转换为这样一个Observable:它逐个发射那些Observable最近发射的数据
Zip — 打包,使用一个指定的函数将多个Observable发射的数据组合在一块儿,而后将这个函数的结果做为单项数据发射
五 错误处理
这些操做符用于从错误通知中恢复
Catch — 捕获,继续序列操做,将错误替换为正常的数据,从onError通知中恢复
Retry — 重试,若是Observable发射了一个错误通知,从新订阅它,期待它正常终止
六 辅助操做
一组用于处理Observable的操做符
Delay — 延迟一段时间发射结果数据
Do — 注册一个动做占用一些Observable的生命周期事件,至关于Mock某个操做
Materialize/Dematerialize — 将发射的数据和通知都当作数据发射,或者反过来
ObserveOn — 指定观察者观察Observable的调度程序(工做线程)
Serialize — 强制Observable按次序发射数据而且功能是有效的
Subscribe — 收到Observable发射的数据和通知后执行的操做
SubscribeOn — 指定Observable应该在哪一个调度程序上执行
TimeInterval — 将一个Observable转换为发射两个数据之间所耗费时间的Observable
Timeout — 添加超时机制,若是过了指定的一段时间没有发射数据,就发射一个错误通知
Timestamp — 给Observable发射的每一个数据项添加一个时间戳
Using — 建立一个只在Observable的生命周期内存在的一次性资源
七 条件和布尔操做
这些操做符可用于单个或多个数据项,也可用于Observable
All — 判断Observable发射的全部的数据项是否都知足某个条件
Amb — 给定多个Observable,只让第一个发射数据的Observable发射所有数据
Contains — 判断Observable是否会发射一个指定的数据项
DefaultIfEmpty — 发射来自原始Observable的数据,若是原始Observable没有发射数据,就发射一个默认数据
SequenceEqual — 判断两个Observable是否按相同的数据序列
SkipUntil — 丢弃原始Observable发射的数据,直到第二个Observable发射了一个数据,而后发射原始Observable的剩余数据
SkipWhile — 丢弃原始Observable发射的数据,直到一个特定的条件为假,而后发射原始Observable剩余的数据
TakeUntil — 发射来自原始Observable的数据,直到第二个Observable发射了一个数据或一个通知
TakeWhile — 发射原始Observable的数据,直到一个特定的条件为真,而后跳过剩余的数据
八 算术和聚合操做
这些操做符可用于整个数据序列
Average — 计算Observable发射的数据序列的平均值,而后发射这个结果
Concat — 不交错的链接多个Observable的数据
Count — 计算Observable发射的数据个数,而后发射这个结果
Max — 计算并发射数据序列的最大值
Min — 计算并发射数据序列的最小值
Reduce — 按顺序对数据序列的每个应用某个函数,而后返回这个值
Sum — 计算并发射数据序列的和
九 链接操做
一些有精确可控的订阅行为的特殊Observable
Connect — 指示一个可链接的Observable开始发射数据给订阅者
Publish — 将一个普通的Observable转换为可链接的
RefCount — 使一个可链接的Observable表现得像一个普通的Observable
Replay — 确保全部的观察者收到一样的数据序列,即便他们在Observable开始发射数据以后才订
十 转换操做
To — 将Observable转换为其它的对象或数据结构
Blocking 阻塞Observable的操做符
几种主要的需求
直接建立一个Observable(建立操做)
组合多个Observable(组合操做)
对Observable发射的数据执行变换操做(变换操做)
从Observable发射的数据中取特定的值(过滤操做)
转发Observable的部分值(条件/布尔/过滤操做)
对Observable发射的数据序列求值(算术/聚合操做)
(来自于:http://reactivex.io/documentation/operators.html#categorized )