如何调试zone.js异常?

时间:2017-04-23 16:08:51

标签: javascript angular zone.js

我有一个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>没有内容。我想避免不得不通过我的代码,删除部分代码并测试错误是否仍然存在。

有没有办法弄清楚我的代码导致此错误的位置?

2 个答案:

答案 0 :(得分:0)

您所描述的是Zone.js的v0.8.8中的最新问题。请在此处查看GitHub issue。最简单的方法就是降级到0.8.5版本。

为此,使用npm,只需使用以下命令:

npm install zone.js@0.8.5 

并考虑在命令末尾添加--save以将其添加到JSON依赖项中。

答案 1 :(得分:0)

亚历山大是对的:检查你的package.json是否有这样的东西:

... “zone.js”:“^ 0.8 ....”

将版本更改为低于0.8.8的版本。这为我修好了。