以下代码每隔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) => {
});
}
答案 0 :(得分:2)
要停止间隔,请将订户保存到变量并在必要时取消订阅。
this.subscriber = obs.subscribe( ... );
...
if(this.subscriber.isStopped) {
this.subscriber.unsubscribe();
}