Задать вопрос
  • Node js: Error: Can't set headers after they are sent что произошло?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Ошибка говорит о том, что у вас express пытается ответить с заголовком (в стиле "Статус 200" - все ок).
    Проблема в том, что у вас уже был ответ, и еще раз ответить он не может. Дословно: не могу установить заголовки, после того, как они отправлены.

    Решение, всегда использовать ключевое слово return, когда вы "отвечаете". В вашем примере это либо res.json, либо next. Суть в этом.
    Пример из api:
    d4b2dd2981684414a39e31573f403b77.jpg
    Если убрать return, то в случае ошибки, мы попадем в if (err) ..., ответим как ошибка(400), и не выйдем из роутинг функции, пойдем ниже и ответим как успешно(200) - и бам-с, получим ошибку - не могу установить заголовки...
    Ответ написан
    2 комментария