如何处理快速路径json错误(没有"发送后不能设置标题。")

时间:2017-01-17 22:55:56

标签: express

我有一条Express路由,使用response.json来返回响应。但是,我无法弄清楚如何用它捕获错误案例。如果我这样做:

try {
   response.json();
} catch (e){
  response.send('it went wrong!'
}

或者如果我这样做:

.then(() => response.json())
.catch(() => response.send('it went wrong!')

我收到Can't set headers after they are sent错误。

这是有道理的,因为json会调用end,并且您无法在调用end后设置标头。但是,如果我在json发生错误后无法编辑响应,那么在这种情况下如何才能返回错误响应?

1 个答案:

答案 0 :(得分:1)

...或者您可以随时查看:

if (!res.headerSent) {
 // do your stuff end with res.json(), res.end(), res.render() or whatever you need
}