javascript
[译]RxJS文档04——Observer 观察者
原文: http://reactivex.io/rxjs/manu...
什么是Observer? 觀察者(Observer)是Observable流推送數據的用戶。觀察者們(Observers)就是一組callback函數的集合,監聽著每一個Observable流推送出的不同類型的通知,包括:next,error和complete。
以下是一個經典的觀察者對象:
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') );總結
以上是生活随笔為你收集整理的[译]RxJS文档04——Observer 观察者的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串中连续出现最多的子串 amp; 字
- 下一篇: 手工安装kubernetes