Rxjs可观察与观察者'语义'

问题描述 投票:0回答:1

几个星期以来,我经常使用Observables,在工具箱中拥有它是一种真正的快乐。

但是,我似乎无法掌握以下构造所示的语义/术语(只是一个理论示例):

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

我知道你需要将一个参数传递给匿名函数来实现它,但是为什么这个被称为Observer类型的Observer,为什么你会在这个观察者上调用next()和error()?对我来说直观的是,发现值并将其推送给观察者的是可观察者。上面的结构似乎扭转了这一局面。

基本上,拥有以下伪代码是不合逻辑的:

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

或者,更清楚地说:

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

也许是一个非常新秀的问题,但我希望得到一些见解。

谢谢!

angular rxjs observable observers
1个回答
1
投票

Observable-Observer模式是Push机制,意味着Observable的任务是通知Observer。 Observable需要引用Observer来通知它有关新的emitions。可观察的回调(如onNext和onError)是Observable-Observer之间的桥梁,因此Observer中存在这样的回调,而Observable将调用它们。

© www.soinside.com 2019 - 2024. All rights reserved.