【发布时间】:2018-02-16 04:56:42
【问题描述】:
我正在尝试创建一个Timer,它每 10 秒调用一次API call,我正在使用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);
}
我听说过Debounce 和rxjs/rs,但我对它们并不熟悉,你能给我一些提示吗?或者,如果这种方式更有效,请继续向我解释为什么它会变成循环。
目标是当它加入if并push页面时,停止定时器。
【问题讨论】:
-
您说“10 秒”但将
}, 1000);传递给setTimeout?
标签: angular typescript ionic-framework ionic2