我的Node.js应用程序在Node v10.29下正常运行。
,当版本为“node”时。
将Node更新为12.0后,我开始收到Caught exception: Error: write after end
错误:
捕获异常:错误:结束后写入 ServerResponse.OutgoingMessage.write(_http_outgoing.js:413:15)at at 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)at at /home/node_app_name/models/file_name.js:1205:61 at /home/node_app_name/node_modules/mongoose/lib/utils.js:414:16 at Server.Base._callHandler中的/home/node_app_name/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection.js:497:9 (/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)at at 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)at fn (/home/node_app_name/node_modules/express/lib/response.js:794:10)at at View.exports.renderFile [作为引擎] (/home/node_app_name/node_modules/jade/lib/jade.js:222:12)at at View.render (/home/node_app_name/node_modules/express/lib/view.js:76:8)at at Function.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)at at Request._callback (/home/node_app_name/app/controllers/file_name.js:92:16)
我搜索了很多以上错误,但我仍然无法获得有效的解决方案。
导致此错误的原因是什么?如何解决?
答案 0 :(得分:1)
如果您使用res.send(...);代码中不止一次(在路径代码app.get块中('路径',函数(req,res){});)。然后将其更改为res.write(....);
答案 1 :(得分:1)
我认为你应该把response.end();在语句路径的每一端(" /"或" / etc")。