【问题标题】:observer in RxjsRxjs 中的观察者
【发布时间】:2017-02-09 13:06:42
【问题描述】:

我刚刚开始使用 Observable 和 Observer 模式,我浏览了各个站点,发现 Observable 是生产者,而 Observer 是消费者。然后当我浏览下面的代码时,我对观察者的含义感到困惑。

 export class AppComponent {
 private data:Observable;
 private dataObserver:Observer;

 constructor(private http: Http) {
 this.data = new Observable(observer => this.dataObserver = observer);
 }

所以,当您创建新的 Observable 对象时,任何人都可以帮助提供观察者的含义。

this.data = new Observable(observer => this.dataObserver = observer)

【问题讨论】:

标签: angular rxjs


【解决方案1】:

Observable 构造函数的参数是一个回调方法,由订阅该 observable 的观察者调用。所以在创建 Observable 时观察者不可用。

您可以在此处找到更多信息: http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-constructor-constructor

Observable 初始时调用的函数 订阅。这个函数有一个订阅者,新的 可以对值进行下一步,或者可以调用错误方法来引发 可以调用错误或完成来通知成功完成。

这里 http://reactivex.io/documentation/operators/create.html

您可以使用 Create 从头开始​​创建 Observable 操作员。您向此运算符传递一个接受观察者的函数 作为它的参数。编写此函数,使其表现为 Observable — 通过调用观察者的 onNext、onError 和 适当的 onCompleted 方法。

一个格式良好的有限 Observable 必须尝试调用 观察者的 onCompleted 方法恰好一次或其 onError 方法 恰好一次,此后不得尝试调用任何 观察者的其他方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    相关资源
    最近更新 更多