2016-04-03 2 views
0

У меня есть функция, которая выполняется, когда «dataCompiled» срабатывает событие, это выглядит, как и его:NODEJS - Невозможно установить заголовки после отправки

eventEmitter.on('dataCompiled', function() { 
     json = JSON.stringify({ 
      conversations: convs 
     }); 
     res.json(json).end(); 
     return; 
     }); 

Но когда я освежая страницу, я получаю ошибку

Error: Can't set headers after they are sent. 

ответ

0

Вам не нужно stringify и завершения вызова res.json, если я не ошибаюсь:

eventEmitter.on('dataCompiled', function() { 
    return res.json({ 
     conversations: convs 
    }); 
}); 
+0

nope чувак, то же самое ( – Src

1

Наконец выяснили, нужно отправить J сыну непосредственно до конца, так что это будет выглядеть так:

res.end(json); 
0

Вы уверены, что не отправили больше данных после этого звонка? Вам не нужно использовать res.end(): http://expressjs.com/en/4x/api.html#res.end.

Если в вашем коде есть другое место, вы отправляете больше данных в res, это даст сообщение об ошибке, которое вы получаете, res.end не устраняет основную проблему.

+0

Нет, это единственное место, где я звоню ** res ** – Src

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