2016-11-17 39 views
0

快速的問題:請問.do()出現錯誤時啓動嗎?文檔說:「對源Observable上的每個發射執行副作用,但返回與源相同的Observable。」錯誤也被認爲是排放嗎?被認爲是RxJs中Observable發射的錯誤?

return this.authHttp.get(url) 
     .delay(5000) 
     .map(this.extractData) 
     .do(() => console.log("I'm doing something")) 
     .share() 
     .catch(error => { 
     if (isDev) this.toastr.error("The panels could not be retrieved from the API."); 
     return this.handleEerror(error); 
     }); 
+0

好吧,現在我覺得很傻。我沒有想到在我已經發布這個問題之前關閉了API來導致錯誤。 – wolfhoundjesse

回答

2

.do() method可以使用一個可選onError回調處理錯誤:

observable 
    .do(
    value => console.log("I'm doing something"), 
    err => console.error('I got an error', err.stack) 
) 

...否則它只會通過流水線。

+0

你的意思是,我應該讀取函數簽名而不僅僅是註釋?大聲笑 感謝您提高我的答案! – wolfhoundjesse

0

事實上,一切都在流水線之前,跳過陷阱。

相關問題