因为我主要是在angular项目里面用ts....下面这个图讲的就是从Observable订阅消息, 并且在Observer里面处理它们:
Observable允许:
订阅/取消订阅它的数据流
发送下一个值给Observer
告诉Observer发生了错误以及错误的信息...然后订阅者2, 取消了订阅, 随后subject推送值2, 只有订阅者1收到了.
后来订阅者3也订阅了subject, 然后subject推送了3, 订阅者1,3都收到了这个值....因为它还具有取消的效果, 每次发射的时候, 前一个内部的observable会被取消, 下一个observable会被订阅. 可以把这个理解为切换到一个新的observable上了....marble图比较好理解:
例子:
// 立即发出值, 然后每5秒发出值
const source = Rx.Observable.timer(0, 5000);
// 当 source 发出值时切换到新的内部