Chrome 调试器不迭代 _.each 循环
Chrome debugger does not iterate _.each loop
我有这样的 javascript 代码:
_.each(node.readLines, function(line) {
// Mark read-lines
start = line;
that._editor.session.addGutterDecoration(start - 1, 'editor_read_decoration');
that._gutterDecorations[start - 1] = 'editor_read_decoration';
});
当使用 Chrome 调试它时,调试器会重复此 _.each
函数的循环,尽管 node.readLines
有五个元素。它只是在 _.each
处停止,下一步它将转到此 _.each
语句之后的下一条语句,而不会进入其中。 _.each
中的语句当然会被执行,但是是在后台执行的。如果我单击 "step into" 或 "step over" 命令也没有任何区别 chrome调试器。我意识到我总是使用这个 _.each
函数。
如何调试此函数中的语句并遍历 node.readLines
?
的所有迭代
如果你使用Step Into
,你应该在lodash或underscore.js中执行_.each()
。如果它被最小化,那里的代码将不可读。在它到达迭代函数之前,您必须在该代码中执行一些额外的步骤,并且您还需要在那里使用 Step Into
。
像这样调试代码,我通常会在回调函数的第一行设置断点。
我有这样的 javascript 代码:
_.each(node.readLines, function(line) {
// Mark read-lines
start = line;
that._editor.session.addGutterDecoration(start - 1, 'editor_read_decoration');
that._gutterDecorations[start - 1] = 'editor_read_decoration';
});
当使用 Chrome 调试它时,调试器会重复此 _.each
函数的循环,尽管 node.readLines
有五个元素。它只是在 _.each
处停止,下一步它将转到此 _.each
语句之后的下一条语句,而不会进入其中。 _.each
中的语句当然会被执行,但是是在后台执行的。如果我单击 "step into" 或 "step over" 命令也没有任何区别 chrome调试器。我意识到我总是使用这个 _.each
函数。
如何调试此函数中的语句并遍历 node.readLines
?
如果你使用Step Into
,你应该在lodash或underscore.js中执行_.each()
。如果它被最小化,那里的代码将不可读。在它到达迭代函数之前,您必须在该代码中执行一些额外的步骤,并且您还需要在那里使用 Step Into
。
像这样调试代码,我通常会在回调函数的第一行设置断点。