我有一个 Angular 16 项目。组件具有材质扩展面板,可在 api 响应后进行分页并加载到下一组中。
我收到 zone.js 错误:
[Violation] 'finish' handler took 166ms
控制台将其指向polyfiill.js。查看我的文件,它来自 polyfill 文件中的 zone.js。
它所指向的区域是:
// global shared zoneAwareCallback to handle all event callback with capture = false
var globalZoneAwareCallback = function (event) {
return globalCallback(this, event, false);
};
我不知道这是否是 zone.js 的问题,我正在做的事情等等。我尝试根据其他 SO 问题在我的 polyfills 文件中执行此操作:
declare var require: any
if (!window['Zone']) {
require('zone.js/dist/zone'); // Included with Angular CLI.
}
但是好像没有什么效果。
所以,一般来说,
finish
与返回值的函数相关。我有相当多的视图布尔返回来检查东西是否已加载,是否应该检查等等。
当我从 API 请求更多数据时,新的一组扩展面板正在执行这些检查。事实是,不应该这样,因为我没有要求提供这些面板的内部数据。结果发现还有残留数据。
我清除了所有相关调用的数据,并且它们的函数停止被调用。