我正在开发一个 Angular 应用程序。作为其中的一部分,我每 10 秒调用一个函数来进行 API 调用。
我的函数看起来像
getData(ahu) {
console.log('In get data function')
console.log(ahu)
setInterval(() => {
this.getDataRealTime(ahu);
}, 10000);
}
<button mat-flat-button (click)="getData(L1)">L1</button>
<button mat-flat-button (click)="getData(L2)">L2</button>
因此,当我单击 L1 按钮时,L1 的数据每 10 秒就会不断出现。现在当我点击L2时,L2的数据来了,但L1的数据没有停止。我只想要 L1 的数据。有人可以帮我解决这个问题吗?
谢谢
最佳答案
在调用setInterval
之前使用clearInterval
停止前一个:
var intervalId;
function getData(ahu) {
console.log('In get data function')
console.log(ahu)
clearInterval(intervalId); // use either global or this.intervalId
intervalId = setInterval(() => { // same here.
this.getDataRealTime(ahu);
}, 10000);
}
关于javascript - 停止一个连续被调用的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58167313/