gpt4 book ai didi

angular - 每 10 秒调用一个函数 Angular2

转载 作者:太空狗 更新时间:2023-10-29 16:54:41 24 4
gpt4 key购买 nike

我正在尝试创建一个每 10 秒调用一次 API 调用Timer,我正在使用 setTimeOut 但问题是它变成了一个无限循环,即使我推送到另一个页面,它也会继续加入 if 条件。

示例:

我在启动 10 秒 API 调用的方法上调用它

setTimeout(() => {
this.onTimeOut();
}, 1000);

这是 onTimeOut() 方法...

onTimeOut() {
this.ApiCall().then(
success => {
if(success ['ok'] == 0){
this.navCtrl.push(myPage);
}
},
error => { console.log(error); });
}
setTimeout(() => {
this.onTimeOut();
}, 1000);
}

我听说过 Debouncerxjs/rs 但我对它们不熟悉,你能给我一些提示吗?或者,如果这种方式更有效,请继续向我解释为什么它会变成一个循环。

目标是当它加入 if 并推送页面时,停止计时器。

最佳答案

更好地使用 observables

this.sub = Observable.interval(10000)
.subscribe((val) => { console.log('called'); });

停止使用

this.sub.unsubscribe();

确保导入 interval

import 'rxjs/add/observable/interval';

关于angular - 每 10 秒调用一个函数 Angular2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46096587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com