如何返回一个空的可观察对象
Posted
技术标签:
【中文标题】如何返回一个空的可观察对象【英文标题】:how to return an empty observable 【发布时间】:2017-04-19 16:06:01 【问题描述】:根据这个答案How to return an empty observable in rxjs我已经尝试了所有但它对我不起作用
这是我的代码
post(url):Observalbe<any>
if(this.holder.nullConnection()) //checking internet connection
//return empty observalbe
return Observable.empty() ;
else
return this.http.post(this.configurator.restServerBaseUrl+url,data)
.map((result:Response)=>
return result.json()
)
我已经根据堆栈问题尝试了几乎所有答案,您可以在上面看到任何帮助返回一个空的 obserable。
【问题讨论】:
How to return an empty observable in rxjs的可能重复 请阅读我的问题,我已经提到了你的问题,并问了我的问题与你的@murhaf 不同 【参考方案1】:Observable.of()
应该适用于您的情况:
import Observable from 'rxjs/Observable';
import 'rxjs/add/observable/of';
// or import Observable from 'rxjs/Rx';
return Observable.of();
或
import EmptyObservable from 'rxjs/EmptyObservable';
return new EmptyObservable();
【讨论】:
我在使用 Visual Studio 时都试过了,我的编辑器在of()
上显示错误,我们是否必须导入 EmptyObservable 之类的东西
如您所见,我的 else 部分工作正常,只是我正在努力重新运行一个空的 observable
你必须导入 of 运算符
它是说找不到这样的()名称
导入 'rxjs/add/observable/of';【参考方案2】:
在 Angular 2 中,您可以使用以下方法返回空的 observable:
import EmptyObservable from 'rxjs/EmptyObservable';
return new EmptyObservable();
【讨论】:
对我来说;import EmptyObservable from 'rxjs/observable/EmptyObservable';
以上是关于如何返回一个空的可观察对象的主要内容,如果未能解决你的问题,请参考以下文章