在ionic 3中http.get之后解散Loading Controller

时间:2018-07-10 03:35:31

标签: angular ionic3

我已经成功实现了一个加载器,现在我想在http请求成功返回时(而不是在可以在“加载控制器”的duration属性中设置的特定超时之后)关闭它。我的http请求是在服务中完成的,订阅了该服务后,我尝试关闭加载程序,但是它不起作用:

constructor(public LoadingController: LoadingController, public _service: SomeService) {
    ...
    this.loader = this.LoadingController.create({
        content: "Fetching Surveys..."
    });
    this.loader.present();
    ...
    this._service.getproducts()
        .subscribe(
            surveys => this.services = services, 
            () => this.loader.dismiss()
        );
}

2 个答案:

答案 0 :(得分:2)

您可以利用complete的{​​{1}}回调,该回调将在服务的subscribesuccess响应上执行。

error

答案 1 :(得分:0)

来自documentation subscribe的界面为:

public subscribe(observerOrNext: Observer | Function, error: Function, complete: Function): ISubscription

例如,您可以使用此:

this._service.getproducts().subscribe(
  surveys => {
    this.services = services;
    this.loader.dismiss();
  }, 
  () => this.loader.dismiss()
);