rxjs 学习系列一(www) 码农

what is Rx


ReactiveX是Reactive Extensions缩写,由微软团队开发,简写为Rx,目标是提供统一的接口,帮助开发者更方便处理异步数据流,很多种语言都有实现,例如RxNet,RxJava,RxJS等

Reactive Programing(响应式编程)
Rx提供了一系列操作符,可以用来创建,组合,过滤,转化多个Observable

 


why Rx


函数式风格:对可观察数据流使用无副作用的输入输出函数,避免了程序里错综复杂的状态
简化代码:Rx的操作符通通常可以将复杂的难题简化为很少的几行代码
异步错误处理:传统的try/catch没办法处理异步计算,Rx提供了合适的错误处理机制
轻松使用并发:Rx的Observables和Schedulers让开发者可以摆脱底层的线程同步和各种并发问题

Rx扩展了观察者模式用于支持数据和事件序列,可以声明式组合这些序列。Observable通过最佳方式访问异步事件序列。Rx的Obserable模型可以让你像访问集合数据一样操作异步数据流

同步 T getData() Iterable<T> getData()
异步 Observable<T> getData()

相关对象

  1. Observable 可观赛对象,cold hot
     一个观察者订阅一个可观察对象 (An observer subscribes to an Observable)。通过调用观察者的方法,Observable发射数据或通知给它的观察者。
  2. Observer
  3. Subject
  4. Scheduler
  5. Operators

rxjs:library for composing asynchrounous and event-based programs by using observable seq.
observable: collection+time

常用操作符

1:create operators 创建操作符

create
from
fromEvent
of
timer
2:condition operators 条件操作符
every

3:combination operators 组合操作符
merge
concat
concatAll
4:transforation operators 转化操作符
map
mapTo
mergeAll
mergerMap
pluck
swithMap
5:filter operators 过滤操作符
take
takeUntil
takeWhile
debounce
debounceTime
throttle
throttleTime

marble diagram

when Rx


叁考:

https://mcxiaoke.gitbooks.io/rxdocs/content/Intro.html

https://rxjs.dev/

https://reactive.how/rxjs/
https://ithelp.ithome.com.tw/articles/10186103

人生旅途,边走边看...
原文地址:https://www.cnblogs.com/dming4/p/15155568.html