如何有效地调试广泛使用scheduleDeferred / scheduleFinally调用的组件? 由于某些原因,一些电话被吞下并且没有被执行。一种选择是尝试简化场景,直到达到最小数量的交互。但即使这样,也很难理解为什么呼叫会被浏览器吞没。
答案 0 :(得分:1)
如果在回调/延迟方法中发生异常,它可能只是被吞下并且不会执行下一个延迟调用。 有时你会看到一个JavaScript异常,但是我已经看到了根本没有显示异常的代码,只是停止执行这个延迟调用 - 很难找到原因。
我只是假设您正在使用超级开发模式或在生产模式(编译版本)中运行,因为在正常开发模式下,GWT应该捕获异常。
为防止这种情况发生,请使用try / catch包围每个延期呼叫的内容,并在发生异常时记录或显示消息。如果你的断点没有被正确触发,那甚至会显示错误。