RXnet的操作(1)

操作类别

1. 创建操作

  • Create — 创建一个被观察对象
  • Defer — 每次订阅时,创建一个新的被观察对象
  • Empty/Never/Throw— 创建精确的有限制行为的被观察对象
  • From(FromAsyncPattern FromEvent FromEventPattern ToObservable) — 将一些其他的对象或数据结构转换成被观察对象
  • Interval — 创建一个特定时间间隔序列的被观察对象
  • Just(Return) — 将一个或一组对象转换成一个被观察对象
  • Range — 通过一个范围整数创建被观察对象
  • Repeat — 创建一个特定可重复序列的被观察对象
  • Start — 创建一个返回值为函数的被观察对象
  • Timer — 在给定延迟时间后创建一个单例被观察对象

2. 转化操作

  • Buffer — 定期从被观察对象收集条目,并以集合推出条目,而不是已单项推出条目
  • FlatMap(SelectMany) — 转换被观察对象的条目,然后形成持有条目的单例被观察对象
  • GroupBy(GroupBy GroupByUntil) — 从被观察对象分成一组或几组不同的被观察对象, 通过key组织
  • Map(Cast Select) — 通过转换被观察对象的条目,将函数应用到每个条目
  • Scan — 通过转换被观察对象的条目,将函数应用到每个条目,按顺序计算后面每一个条目的连续值
  • Window — 定期细分一个被观察对象的条目到新的被观察对象,而不是一次发射一个,类似buffer

3. 过滤操作

  • Debounce(Throttle) — 在特定的时间,从被观察对象发射一个条目,passed另一个条目,类似阀门。
  • Distinct(Distinct DistinctUntilChanged) — 抑制被观察对象发射的重复条目
  • ElementAt(ElementAt ElementAtOrDefault) — 仅从被观察对象几个发射点发射条目
  • Filter(OfType Where) — 从被观察对象仅发射一些通过条件测试的条目
  • First(First FirstOrDefault Latest Next Single SingleOrDefault) — 从被观察对象发射第一条目,或者满足条件的第一条目
  • IgnoreElements — 从被观察对象不发射任何条目但是镜像它的终止通知
  • Last(Last LastOrDefault) — 从被观察对象发射第后条目
  • Sample — 从被观察对象发出周期性时间间隔内最新项目
  • Skip — 从被观察对象抑制最初的n个条目
  • SkipLast — 从被观察对象抑制最后的n个条目
  • Take — 从被观察对象发射最初的n个条目
  • TakeLast — 从被观察对象发射最后的n个条目

4. 结合操作

  • And/Then/When — 通过Pattern and Plan,结合两个或更过的被观察对象条目集合
  • CombineLatest — 通过指定函数结合各被观察对象发射的最新条目,被基于函数计算结果
  • Join — 结合两个被观察对象的发射
  • Merge — 合并多个被观察对象
  • StartWith — 从原被观察对象发射条目之前,发出一个指定的条目序列
  • Switch — 转换一个被观察对象到最近发射的被观察对象上,形成一条单例被观察对象
  • Zip — 通过指定的函数结合多个被观察对象,并且每一个条目基于函数计算

5. 异常回调操作

  • Catch(Catch OnErrorResumeNext) — 通过不出错的继续序列从一个onError通知发送
  • Retry — 如果一个被观察对象发送onError通知, 重新订阅,希望它没有错误的完成

6. 被观察对象通用操作

  • Delay(Delay DelaySubscription) — 延迟一定量的时间
  • Do — 注册一个行动,以采取各种被观察对象生命周期事件,回调监听
  • Materialize/Dematerialize — 将发出的条目和发送的通知都表示为发出的条目,或扭转此过程
  • ObserveOn(ObserveOn ObserveOnDispatcher) — 指定观察者将观察被观察对象的调度程序
  • Serialize(Synchronize) — 强制一个被观察对象的calls序列化
  • Subscribe — 被观察对象的通知操作起作用,也就是订阅被观察对象
  • SubscribeOn(SubscribeOn SubscribeOnDispatcher) — 指定一个被观察对象被订阅时的调度程序
  • TimeInterval — 转换一个被观察对象中条目的时间量
  • Timeout — 镜像原被观察对象, 但是如果一个特定的时间没有任何发射条目发出错误通知
  • Timestamp — 在被观察对象每一个条目附加一个时间戳
  • Using — 创建一个销毁,保证被观察对象一次性寿命

7. 条件和布尔操作

  • All — 确定被观察对象的所有项目是否符合一定的标准
  • Amb — 给定两个或多个源被观察对象,发出所有的条目从只观测发出的第一项
  • Contains — 确定被观察对象是否包含特定条目
  • DefaultIfEmpty — 从原被观察对象发射一个条目,或者如果原被观察对象的条目为空
  • SequenceEqual — 判断两个被观察对象发出相同序列
  • SkipUntil — 丢弃一个被观察对象发射条目,直到第二个被观察对象发射条目
  • SkipWhile — 丢弃一个被观察对象发射条目,直到一个指定的条件变为假
  • TakeUntil — 丢弃第二个被观察对象的一个条目或终止后的被观察对象的项目
  • TakeWhile — 在指定条件变为假后,丢弃被观察对象的条目

8. 数学操作

  • Average — 计算平均值
  • Concat —
  • Count — 计算条目数量
  • Max — 最大值
  • Min — 最小值
  • Reduce — 将一个函数应用到一个被观察对象,按顺序发出的每一个条目,并发出最后的值
  • Sum — 计算和

9. 连接被观察对象操作

  • Connect —
  • Publish —
  • RefCount —
  • Replay —

10. 操作转换

  • To(GetEnumerator ToArray ToDictionary ToEnumerable ToEvent ToEventPattern ToList ToLookup ToTask) — 将被观察对象转换成另一个对象或数据结构
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容