Observables 表示数据源,而 Observers (Subscribers) 监听这些数据源。简而言之,Observable 发射项目,Subscriber 然后消耗这些项目。
Observable
-
订阅者开始监听后,Observable 提供数据。
-
Observable 可以发出任意数量的项目。
-
Observable 也可以只发出完成信号,而不出发任何项目。
-
Observable can terminate successfully.
-
Observable 永远不会终止。例如按钮可以单击任意多次。
-
Observable 可能会在任何时间点发出错误。
Subscriber
-
Observable 可以拥有多个订阅者。
-
当 Observable 发出项目时,每个订阅者的 onNext() 方法都会被调用。
-
当 Observable 完成发出项目后,每个订阅者的 onComplete() 方法都会被调用。
-
如果 Observable 发出错误,每个订阅者的 onError() 方法都会被调用。