Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Express 4 теряет ответы (https://javascript.ru/forum/node-js-io-js/56119-express-4-teryaet-otvety.html)

Gozar 30.05.2015 23:50

Express 4 теряет ответы
 
При запросе, пользователь должен пройти авторизацию, если не прошел, то кидаем ему json.

res.json({"access":"denied"}).end();


Работает через раз. Может два раза подряд отработать на один и тот же запрос, а третий раз сглючить и повиснуть. Грешил на nginx стоящий перед express, на ajax в браузере, но в итоге решил что это express теряет json. Не могу понять почему не прилетает иногда с сервера json?

Кто-нибудь сталкивался?

Версия express 4 любая.

Erolast 31.05.2015 18:11

Точно один и тот же?) Проверь в консоли, лично я что-то не припомню зависаний в Response#json.
Экспресс обычно зависает, если в каком-то миддлевере не был вызван next (проверь обработку ошибок), или если не был закрыт поток res (не вызывались send/json/end, кстати, да, send и json сами по себе поток закрывают, после них end не нужен).

Gozar 31.05.2015 23:51

Цитата:

Сообщение от Erolast
Точно один и тот же?

Точно.

Цитата:

Сообщение от Erolast
Проверь в консоли

проверял.

Цитата:

Сообщение от Erolast
если не был закрыт поток

Цитата:

Сообщение от Gozar
Работает через раз.

Вернее первые два раза нормально, но если вызвать третий раз, то зависает.

Если это важно, то туда летят "легкие" данные с формой, обратно json и на третий раз виснет

res.json({"access":"denied"}).end();

на минуту, затем умирает, похоже сервер прибивает висяк.


Часовой пояс GMT +3, время: 02:23.