订阅一个函数,它只在if子句中返回observable
问题描述:
我有一个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()
}
}
这是代码,并通知我需要改变,使其工作?有没有办法返回可观察?
答
真不明白什么是您的问题,现在.. :)
return Observable.of(null);
?
return Observable.of(undefined);
?
你用'Observable .from([])''尝试过吗?或者用你的设置,你可以改变返回类型为::Observable .' –
micronyks