2016-11-11 92 views
0

目標瞭如何在一個可觀察的

我想執行一個http請求,也想這樣做,是基於if語句其他HTTP請求做if語句第二個請求。觀察者需要做當EMIT:

  1. firstvar和secondvar相等且僅1 http請求被執行
  2. firstvar和secondvar不相等和2 http請求被執行

這是一些僞代碼,我有

class ApiCallClass { 
    methodThatReturnsObservable: Observable<{}> { 
    observable = this.http.get(firstUrl); 
    if (firstvar !== secondvar) { 
    observable.concat(this.http.get(secondUrl); 
    } 
    return observable; 
    } 
} 

問題

我們注意到第二個請求正在中止。這是因爲使用concat並返回observable嗎?

我是否正確使用concat方法?

+0

現在的工作,THX到JB Nizet多一點研究。如果陳述是錯誤的,並且沒有返回新的可觀察值。 – Extranion

回答

3

concat()返回一個新的Observable。它不會改變原來的一個。

所以你需要

observable = observable.concat(this.http.get(secondUrl); 
+0

它仍然無法正常工作,但感謝您的補充:)根據您的答案更改了代碼 – Extranion

+0

定義「不起作用」。你的投入是什麼,你期望會發生什麼,以及會發生什麼? –

相關問題