如何调试 zone.js 异常?
How to debug zone.js exception?
我有一个 Angular 2 TypeScript 项目。我已经更新了所有的包并构建了项目。
现在我在控制台中看到这个错误:
zone.js:1265 Uncaught TypeError: Cannot read property 'apply' of undefined
at XMLHttpRequest.desc.get [as ontimeout] (zone.js:1265)
at XHRLocalObject.AbstractXHRObject._cleanup (abstract-xhr.js:149)
at XMLHttpRequest.xhr.onreadystatechange (abstract-xhr.js:125)
at XMLHttpRequest.wrapFn (zone.js:1230)
at ZoneDelegate.invokeTask (zone.js:398)
at Zone.runTask (zone.js:165)
at XMLHttpRequest.ZoneTask.invoke (zone.js:460)
所以我无法找出项目代码中的错误位置,因为堆栈跟踪中没有项目代码。一开始有很多 HTTP 请求。他们都成功了(网络选项卡中没有错误),但我看到实际上没有数据:<select>
没有内容。我想避免必须通过我的代码,删除部分代码并测试错误是否仍然存在。
有什么方法可以找出我的代码在哪里导致了这个错误?
您所描述的是Zone.js v0.8.8 中的最新问题。请参阅此处的 GitHub issue。避免这种情况的最简单方法是降级到 0.8.5 版本。
为此,使用 npm,只需使用此命令:
npm install zone.js@0.8.5
并考虑在命令末尾添加 --save
以将其添加到您的 JSON 依赖项中。
Alexander 是对的:检查你的 package.json 是否有这样的东西:
...
"zone.js": "^0.8...."
将版本更改为低于 0.8.8 的版本。这为我修好了。
我有一个 Angular 2 TypeScript 项目。我已经更新了所有的包并构建了项目。
现在我在控制台中看到这个错误:
zone.js:1265 Uncaught TypeError: Cannot read property 'apply' of undefined
at XMLHttpRequest.desc.get [as ontimeout] (zone.js:1265)
at XHRLocalObject.AbstractXHRObject._cleanup (abstract-xhr.js:149)
at XMLHttpRequest.xhr.onreadystatechange (abstract-xhr.js:125)
at XMLHttpRequest.wrapFn (zone.js:1230)
at ZoneDelegate.invokeTask (zone.js:398)
at Zone.runTask (zone.js:165)
at XMLHttpRequest.ZoneTask.invoke (zone.js:460)
所以我无法找出项目代码中的错误位置,因为堆栈跟踪中没有项目代码。一开始有很多 HTTP 请求。他们都成功了(网络选项卡中没有错误),但我看到实际上没有数据:<select>
没有内容。我想避免必须通过我的代码,删除部分代码并测试错误是否仍然存在。
有什么方法可以找出我的代码在哪里导致了这个错误?
您所描述的是Zone.js v0.8.8 中的最新问题。请参阅此处的 GitHub issue。避免这种情况的最简单方法是降级到 0.8.5 版本。
为此,使用 npm,只需使用此命令:
npm install zone.js@0.8.5
并考虑在命令末尾添加 --save
以将其添加到您的 JSON 依赖项中。
Alexander 是对的:检查你的 package.json 是否有这样的东西:
... "zone.js": "^0.8...."
将版本更改为低于 0.8.8 的版本。这为我修好了。