Обратные вызовы не работают при запуске отладчика;

Изменить: Этот вопрос изначально был о проблеме с базой данных, но, похоже, ничего подобного. @tymeJV очень помог в диагностике проблемы в пятницу, но утром в понедельник совершенно очевидно, что причина не имеет ничего общего с базами данных.

Я обновляю вопрос (а не удаляю его) и добавляю ответ сам.

Вероятно, возникла какая-то проблема с самого начала, но, в конце концов, это была моя отладка, которая ломала вещи. Мой код был:

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

debugger;

И мне было интересно, почему обратный вызов никогда не срабатывает.

1 ответ

Решение

Проблема заключалась в самом расследовании: отладчик приостанавливал выполнение до того, как дочерняя область могла выполнить свои обратные вызовы.

Например:

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

Показывает обратный вызов.

Некоторые ошибки становятся очевидными после небольшого отдыха. Надеюсь, что это поможет любому, кто находится в подобной ситуации.

Другие вопросы по тегам