在我正在使用的现有Backbone / jQuery / CoffeeScript应用程序中,似乎有一个多次调用的函数(Backbone.Collection.fetch()
)(有时数字可能会有所不同)。我认为这可能是一个时间问题,因为我正在做大量的嵌套回调(如AJAX等),并且它变得难以调试。我应该尝试将代码转换为使用jQuery延迟,但同时,我该怎么办?
刚尝试浏览Chrome中的代码,但似乎代码在这里跳跃,也许它同时处理不同的回调?
我想也许我会为每个函数及其参数添加一个console.log,但是必须有更好的方法吗?
答案 0 :(得分:2)
您可以向该fetch()
函数添加堆栈跟踪,并查看它的调用位置。 JS有许多不错的堆栈跟踪实现。我取得了很大的成功
Eric Wendelin's version,但有plenty of others。
使用堆栈跟踪,也许您至少可以看到该函数中最常见的路径,这可能有助于缩小搜索范围。它甚至可以明确潜在的罪魁祸首。