如何使用事件发射器检测for循环的变化?
getdata(){
for(let mydata of this.data) {
if (mydata.Zone == 1) {
this.zoneOne.push(mydata);
}
if (mydata.Zone == 2) {
this.zoneTwo.push(mydata);
}
if (mydata.Zone == 3) {
this.zoneThree.push(mydata);
}
if (mydata.Zone == 4) {
this.zoneFour.push(mydata);
}
if (mydata.Zone == 5) {
this.zoneFive.push(mydata);
}
if (mydata.Zone == 6) {
this.zoneSix.push(mydata);
}
if (mydata.Zone == 7) {
this.zoneSeven.push(mydata);
}
if (mydata.Zone == 8) {
this.zoneEight.push(mydata);
}
}
}
this.timer= setInterval(() => {
this.getdata();
}, (this.counter*1000));
我想在间隔完成后只显示一次。但它似乎总是推动我的数据,我在我的屏幕上获得多个价值。我怎么能处理这个只改变数组如果新的数据呢?
答案 0 :(得分:0)
如果使用setInterval,它将在所述间隔后继续触发该函数。您需要使用setTimeout。像这样:
setTimeout(() => {
this.getdata();
}, (this.counter*1000));
setTimeout只会触发一次该函数而不会重复。