[译]RxJS文档04——Observer 观察者

原文: http://reactivex.io/rxjs/manu…

什么是Observer? 观察者(Observer)是Observable流推送数据的用户。观察者们(Observers)就是一组callback函数的鸠合,监听着每个Observable流推送出的差别范例的关照,包括:next,errorcomplete

以下是一个典范的观察者对象:


var observer = {
  next: x => console.log('Observer got a next value: ' + x),
  error: err => console.error('Observer got an error: ' + err),
  complete: () => console.log('Observer got a complete notification'),
};

为了运用观察者,需要让他定阅一个Observable流:


observable.subscribe(observer);

观察者是一个包括三个回调函数的对象,每个函数都时刻预备吸收来自Observable流推送的差别音讯。

Observer在RxJS中是被厚待的。假如没有为某个范例的关照供应callback,Observable流的实行历程仍然会照常进行,然则响应的关照将会被疏忽,由于观察者没有供应响应的callback来吸收。

下面是一个Observer没有供应complete响应(callback)的例子:

var observer = {
  next: x => console.log('Observer got a next value: ' + x),
  error: err => console.error('Observer got an error: ' + err),
};

定阅一个Observable流的时刻,你也能够只供应一个callback函数作为参数,而不必完全供应一个包括三个回调的对象,就像下面的例子:

observable.subscribe(x => console.log('Observer got a next value: ' + x));

observable.subscribe()内部,将会建立一个观察者对象(Observer object),并将第一个参数供应的callback作为next关照的响应函数。接收三个范例关照的callback也能够离别以参数的情势供应:


observable.subscribe(
  x => console.log('Observer got a next value: ' + x),
  err => console.error('Observer got an error: ' + err),
  () => console.log('Observer got a complete notification')
);
    原文作者:阿尔特纳晨风
    原文地址: https://segmentfault.com/a/1190000009904656
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞