如何停止角度间隔?

时间:2018-08-12 05:54:17

标签: angular

我在angular6应用程序中使用了rxjs6 interval。以下是我在angular6应用程序中实现interval的代码。

app.component.ts

import { interval } from 'rxjs/observable/interval';
const source = interval(1000);
const subscribe = source.subscribe(val => console.log(val));

一切正常,但是如何停止此间隔?当我尝试取消订阅angular时说source.unsubscribe is not a function

1 个答案:

答案 0 :(得分:4)

您需要在unsubscribe()变量上调用subscribe

//emit value in sequence every 1 second
const source = Rx.Observable.interval(1000);
//output: 0,1,2,3,4,5....
const subscribe = source.subscribe(val => console.log(val));
setTimeout(()=> subscribe.unsubscribe(), 2000);

请参阅此处:http://jsbin.com/kajenif/1/edit?js,console,output

这是rxjs主管的一个很好的提示:https://medium.com/@benlesh/rxjs-dont-unsubscribe-6753ed4fda87