【问题标题】: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。

【问题讨论】:

标签: angular ionic2 observable


【解决方案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';
猜你喜欢
  • 2019-02-18
  • 2017-07-12
  • 2021-10-31
  • 2018-12-16
  • 1970-01-01
  • 1970-01-01
  • 2018-04-11
  • 2020-09-14
  • 2020-01-09
相关资源
最近更新 更多