为什么每个请求发送多个响应会导致NodeJS服务器崩溃?

时间:2017-11-02 13:30:03

标签: node.js express

可能是一个愚蠢的问题,但我想知道为什么,即调用Express'关闭NodeJS服务器的每个请求多次res.send()(NodeJS&{39; http.ServerResponse的子类)?为什么它在发送第一个响应时没有结束请求,只是记录错误,而不会崩溃?

1 个答案:

答案 0 :(得分:1)

Express只是抛出异常,然后节点处理它:

  

' uncaughtException'当未捕获的JavaScript异常一直回到事件循环时,会发出事件。默认情况下,Node.js通过将堆栈跟踪打印到stderr并退出来处理此类异常。 doc

如果您想做其他事情,请实施自己的process.on('uncaughtException', (err) => {})

或者你可以让它崩溃并使用像forever这样的东西来恢复它。