在运行 setInterval 调用时我遇到了这个问题。[违规] 'setInterval' 处理程序花费了毫秒 根据我的理解,当我们在 setInterval 中编写需要更多时间执行的代码时,我们就会遇到这个问题。我的问题是,如果我无法更改 setInterval 内运行的代码,如何解决此问题。
let cardInterval = setInterval(() => {
if (self.filterObject != undefined) {
self.getFilteredListOfTurbine(self.globalFilterService.getUpdatedTurbineListWithOperatingMode(self.listOfTurbine)).then((response) => {
self.cardData.turbines = response;
self.cardData.recalculate();
observable.next(self.cardData);
})
} else {
self.cardData.turbines = self.globalFilterService.getUpdatedTurbineListWithOperatingMode(self.listOfTurbine);
self.cardData.recalculate();
observable.next(self.cardData);
}
}, 1000);
Run Code Online (Sandbox Code Playgroud)
当 self.filterObject 未定义时,上面的代码工作正常,但当它没有定义时,它需要在 self.getFilteredListOfTurbine 中进行额外的过滤。
getFilteredListOfTurbine(listOfTurbine): Promise<Turbine[]> {
return new Promise((resolve) => {
if (this.filterObject == undefined) {
return listOfTurbine;
}
let self = this;
let listOfFilteredTurbine = new Array<Turbine>();
listOfTurbine.forEach((turbine, i) => {
if (self.filterObject.wf.includes(turbine.wfoid) && self.filterObject.tu.includes(turbine.turbineserialnumber) && …Run Code Online (Sandbox Code Playgroud)