我正在尝试使用此函数更新api中的数据
ngOnInit(){
setInterval(()=>{
this.getPhonebook();
}, 1000);
}
getPhonebook() {
this.showPhonebook = this.beaconProvider.getPhoneBookDirectories().subscribe(data => {
this.infos = data;
}, (err) =>{
console.log(err);
})
}
并尝试使用它来销毁它:
ionViewDidLeave(){
this.showPhonebook.unsubscribe();
}
ngOnDestroy(){
this.showPhonebook.unsubscribe();
}
问题是,当我尝试使用ngDestroy
销毁或将其附加到IonViewDidLeave()
生命周期时,即使我已经在另一个页面上,该功能仍然会调用。那么有没有办法实现自动更新我渴望有角度,因为我担心给定一个大事务setInterval
会导致错误。
答案 0 :(得分:0)
如果在组件中使用setInterval,则需要设置clearInterval。
myInterval: any;
ngOnInit(){
this.myInterval = setInterval(()=>{
this.getPhonebook();
}, 1000);
}
ngOnDestroy(){
clearInterval(this.myInterval);
}