2014-09-29 2 views
0

Я получаю Error: Can't set headers after they are sent в своем приложении. Я знаю, что ответ отправляется до ответа, который я намерен доставить, но я не уверен, откуда это взялось. Могу ли я войти в консоль при отправке респоса? В настоящее время я использую morgan для регистрации, но, похоже, только запросы журнала. Я также не могу найти способ регистрировать каждый ответ.Как узнать, где мое приложение Express отправлено/завершено?

Если нет, то какой еще эффективный способ избежать этой проблемы?

Обновление: Это приложение работает на Azure и использует Azure SDK для узла, иначе я попробую запустить его через отладчик узла или инспектора узлов. Я не думаю, что есть способ сделать это, а также запустить приложение в эмуляторе. Я мог ошибаться.

+0

Если вы хотите заглянуть в свое приложение, попробуйте узел-инспектор. Но ваша проблема кажется простой ошибкой. Где-то в вашем сервере был отправлен ответ. – Silom

+0

Должна быть трассировка стека вместе с ошибкой. Если «morgan» препятствует тому, чтобы он был доступен или показан, попробуйте временно удалить «morgan», чтобы увидеть трассировку стека. – mscdex

+0

@silom Я должен был упомянуть, что это проект Azure, поэтому мне придется запускать его через эмулятор Azure. Я не вижу способа запуска любых отладчиков во время запуска приложения через этот эмулятор. – raddevon

ответ

1

В вашей ошибке говорится, что уже отправлен ответ, проверьте свой код с помощью инспектора узла или любого другого инструмента отладки и найдите место.

Здесь node-inspector.

А поскольку вы работаете с Azure this, вам следует начать с инспектора узлов.

Смежные вопросы