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 来通知它有关新发射的信息。 onNext 和 onError 等 Observable 回调是 Observable-Observer 之间的桥梁,因此 Observer 中存在此类回调,Observable 将调用它们。
几周以来,我经常使用 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 来通知它有关新发射的信息。 onNext 和 onError 等 Observable 回调是 Observable-Observer 之间的桥梁,因此 Observer 中存在此类回调,Observable 将调用它们。