运行调试器时回调没有运行;

时间:2013-10-11 15:55:16

标签: javascript node.js javascript-debugger

编辑:这个问题最初是关于数据库问题的,但事实证明并非如此。 @tymeJV在星期五的诊断问题上非常有帮助,但周一早上很明显,原因与数据库无关。

我正在更新问题(而不是删除它)并自己添加答案。

开始时可能存在某种问题,但最终是我的调试本身就是破坏事物。我的代码是:

collections.somecollection.find({name:'somename'}).toArray(function(err, docs) {
  log('>>>', err,docs)          
})

debugger;

我想知道为什么回调永远不会被解雇。

1 个答案:

答案 0 :(得分:0)

问题在于调查本身:调试器在子范围可以运行其回调之前暂停执行。

例如:

collections.somecollection.find({name:'somename'}).toArray(function(err, docs) {
  log('>>>', err,docs)          
  debugger;
})

显示正在运行的回调。

稍微休息后,一些错误变得明显。希望能帮助处于类似位置的其他人。