下面这个图讲的就是从Observable订阅消息, 并且在Observer里面处理它们:
Observable允许:
订阅/取消订阅它的数据流
发送下一个值给Observer
告诉Observer发生了错误以及错误的信息...类似, 它接受另一个function(也可以叫predicate)作为参数, 这个function提供了某种标准, 通过这个标准可以判定是否当前的元素可以被送到订阅者那里.
p => p.age > 40...结果如下:
用现实世界中炼钢生产流程的例子来解释使用Operator来进行Reactive数据流处理的过程:
原料(矿石)整个过程中会经过很多个工作站, 这里每个工作站都可以看作是RxJS的operator...但是做Reactive编程的话, 有一个原则: Reactive的程序应该很有弹性/韧性.
也就是说, 即使错误发生了, 程序也应该继续运行....但是如果error function在Observer被调用了的话, 那就太晚了, 这样流就停止了.