2016-04-03 51 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

你並不需要字符串化和結束呼叫res.json如果我沒有記錯的話:

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

nope dude,same thing( – Src

1

終於想通了,需要送Ĵ兒子直接面對終端的功能,所以它會看起來像:

res.end(json); 
0

你確定這個電話後,不是在發送更多數據?您不應該使用res.end()http://expressjs.com/en/4x/api.html#res.end

如果你的代碼中有另一個地方,你會發送更多的數據給res,它會給你收到的錯誤信息,res.end沒有解決底層的問題。

+0

不,這是唯一的地方,我打電話** res ** – Src

相關問題