2015-03-09 4 views
0

Что послужило бы причиной того, что запрос был выполнен и после обновления страницы (так называемый новый запрос) зависает (загружается навсегда)? Как я могу отладить эту вещь?Приложение Nodejs зависает после обновления страницы

Мой код выглядит примерно так:

if(params are not good){ 
    res.status(500).json("Invalid date."); 
}else{ 
    doDatabaseQuery(callback); 
    callback.onSuccess(data) => res.status(200).json(data); 
    callback.onError(err) => res.status(500).json(err); 
} 

Если изменить код и вместо res.status(200).json(data) меня return res.status(200)... я получаю: Can\'t set headers after they are sent. после более чем на 1 запрос.

EDIT:

Проблема, кажется, что doDatabaseQuery(). Этот метод просто вызывает .find ({}) на модели мангуста. Выполняется ли запрос async при нажатии кнопки обновления?

+0

для отладки nodeJS-приложения вы можете использовать node-inspector {https://github.com/node-inspector/node-inspector} – Shaan

+0

Я использую это. Но я не знаю, где я должен поставить контрольные точки. – TGeorge

+0

вы помещаете точки останова в хром, где вы видите исходный код для приложения NodeJS. – Shaan

ответ

0

Проблема была действительно doDatabaseQuery(). Для других пользователей, которые читают это: вам нужно знать, что приложение nodejs действительно kill the async (и я сказал это положительно), но это может быть сложно. Поэтому следите за обратными вызовами, и если вы не знаете, где приложение зависает, используйте node-inspector.