2016-09-19 86 views
0

我有一個if子句,用於檢查窗口全局對象是否存在cordova,如果是,它將執行一個http請求並返回默認的角度2 http observable。訂閱一個函數,它只在if子句中返回observable

如果應用程序在web上下文中,cordova將不存在,因此該函數不應該執行任何操作。

但是,爲了訂閱它,我需要返回一個observable,否則我將得到不能訂閱空錯誤。我目前的解決方案是返回Observable.empty(),

但是是安全的還是有東西更優雅?謝謝!

public init():Observable<Response>{ 
    if(window.cordova){ 
    return this.http.get(...) 
    } else { 
    return Observable.empty() 
    } 
} 

這是代碼,並通知我需要改變,使其工作?有沒有辦法返回可觀察?

+0

你用'Observable .from([])''嘗試過嗎?或者用你的設置,你可以改變返回類型爲::Observable .' – micronyks

回答

1

真不明白什麼是您的問題,現在.. :)

return Observable.of(null);

return Observable.of(undefined);