订阅一个函数,该函数 returns 仅在 if 子句中可见

subscribe to a function, which returns observable only in if clause

我有一个 if 子句检查 window 全局对象是否存在 cordova,如果存在,它将执行 http 请求和 return 默认值 angular 2 http可观察。

如果应用程序在网络上下文中,cordova 将不存在,因此该函数不应执行任何操作。

然而,为了订阅它,我需要 return 一个可观察对象,否则我会收到无法订阅空错误。我目前的解决方案是 return Observable.empty(),

但是这样安全吗?还是有更优雅的东西?谢谢!

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

这是代码,请注意我需要更改为才能使其正常工作...有没有办法 return Observable?

不太清楚你现在的问题是什么..:)

return Observable.of(null); ?

return Observable.of(undefined); ?