如何停止IntervalObservable

时间:2017-07-24 13:07:34

标签: angular observable

以下代码每隔1秒发送一次http请求。这工作正常,但我找不到办法,如何以编程方式关闭/完成Web服务请求。

//服务类

public getData() {

     return IntervalObservable.create(1000)
     .flatMap(() => {
         return this.http.post(this.uri)
         .map(res => res.text());
     });
    }

//主类

 testInterval ()
    {

      var obs = this.servletService.getData()

      obs.subscribe(

      (data) => {


      },
      (error) => {
      });
    }

1 个答案:

答案 0 :(得分:2)

要停止间隔,请将订户保存到变量并在必要时取消订阅。

 this.subscriber = obs.subscribe( ... );

 ...

 if(this.subscriber.isStopped) {
  this.subscriber.unsubscribe();
 }