Rxjs 可观察者与观察者 'semantics'

Rxjs observable versus observer 'semantics'

几周以来,我经常使用 Observables,将它放入工具箱中真是一种享受。

但是,我似乎无法理解以下构造(只是一个理论示例)所说明的 semantics/terminology:

const o = Observable.create((observer: Observer<boolean>) => {
 observer.next(true);
 observer.error(false);
});

我知道您需要将参数传递给匿名函数才能实现,但为什么将其称为 Observer 类型的 Observer 以及为什么要在该观察者上调用 next() 和 error() ?对我来说,直觉上是 observable 发出值并将其推送给观察者。上面的构造似乎扭转了这一局面。

基本上,有以下代码不是更合乎逻辑吗:

const o = Observable.create(() => {
 this.next(true);
 this.error(false);
});

或者,更清楚:

const o = Observable.create(next: () => {... return true;}, error: () => { return false;});

也许是一个非常菜鸟的问题,但我很想获得一些见解。

谢谢!

Observable-Observer模式是一种Push机制,意味着它是任务Observable 的通知 Observer。 Observable 需要引用 Observer 来通知它有关新发射的信息。 onNextonError 等 Observable 回调是 Observable-Observer 之间的桥梁,因此 Observer 中存在此类回调,Observable 将调用它们。