【问题标题】:Getting Caught exception: Error: write after end after upgrading Node version捕获异常:错误:升级节点版本后结束后写入
【发布时间】:2015-06-28 11:46:04
【问题描述】:

我的 Node.js 应用程序在 Node v10.29 下运行良好。

,当“节点”的版本。

在将 Node 更新到 12.0 版后,我开始收到 Caught exception: Error: write after end 错误:

捕获异常:错误:在结束后写入 ServerResponse.OutgoingMessage.write (_http_outgoing.js:413:15) 在 ServerResponse.res.write (/home/node_app_name/node_modules/express/node_modules/connect/lib/middleware/compress.js:110:17) 在 ServerResponse.res.end (/home/node_app_name/node_modules/express/node_modules/connect/lib/middleware/compress.js:116:14) 在 ServerResponse.res.send (/home/node_app_name/node_modules/express/lib/response.js:152:8) 在 /home/node_app_name/models/file_name.js:1205:61 在 /home/node_app_name/node_modules/mongoose/lib/utils.js:414:16 在 /home/node_app_name/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection.js:497:9 在 Server.Base._callHandler (/home/node_app_name/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js:382:41) 在 /home/node_app_name/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:472:18 在 MongoReply.parseBody (/home/node_app_name/node_modules/mongoose/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)

捕获异常:错误:在结束后写入 ServerResponse.OutgoingMessage.write (_http_outgoing.js:413:15) 在 ServerResponse.res.write (/home/node_app_name/node_modules/express/node_modules/connect/lib/middleware/compress.js:110:17) 在 ServerResponse.res.end (/home/node_app_name/node_modules/express/node_modules/connect/lib/middleware/compress.js:116:14) 在 ServerResponse.res.send (/home/node_app_name/node_modules/express/lib/response.js:154:8) 在 fn (/home/node_app_name/node_modules/express/lib/response.js:794:10) 在 View.exports.renderFile [作为引擎] (/home/node_app_name/node_modules/jade/lib/jade.js:222:12) 在 查看.render (/home/node_app_name/node_modules/express/lib/view.js:76:8) 在 函数.app.render (/home/node_app_name/node_modules/express/lib/application.js:504:10) 在 ServerResponse.res.render (/home/node_app_name/node_modules/express/lib/response.js:798:7) 在 Request._callback (/home/node_app_name/app/controllers/file_name.js:92:16)

我为上述错误搜索了很多,但我仍然无法找到有效的解决方案。

是什么导致了这个错误,我该如何解决?

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    如果你使用 res.send(...);在代码中不止一次(在一个路由代码块 app.get('path', function(req, res){ }); 中)。不如把它改成 res.write(....);

    【讨论】:

    • ThnQ Rahaman,为了您的回复,但我没有在同一个路由代码块中多次使用 res.send,我只使用它一次,除此之外,由于节点是异步的,一旦 res send 是 res.send(),我什至用 res.end() 结束响应,并通过写“return;”从该代码块返回还有
    【解决方案2】:

    我认为你应该把 response.end();在语句路径的每一端(“/”或“/etc”)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      • 2017-01-08
      • 2020-06-28
      • 2015-06-01
      • 2015-07-28
      • 2021-03-08
      • 2018-09-23
      相关资源
      最近更新 更多