节点 events.js:174 throw er; // 未处理的“错误”事件
Posted
技术标签:
【中文标题】节点 events.js:174 throw er; // 未处理的“错误”事件【英文标题】:Node events.js:174 throw er; // Unhandled 'error' event 【发布时间】:2019-08-21 11:54:01 【问题描述】:请求 API 时出现错误,它在任何 win 服务器上崩溃。有人可以帮忙吗?
这是我的代码的一部分:
app.get("/js/2806/api/products/getAllDrugs", (req, res) =>
const connection = getDBConnection()
const queryString = "SELECT * FROM tbl_drug";
connection.query(queryString, (err, rows, fields) =>
if (err)
console.log("Failed to query for drugs: " + err);
// res.sendStatus(500);
res.json(
ErrorDetail:
code: -1,
msg: err.code
);
res.end();
return
const drugs = rows.map((row) =>
return
id: row.id,
storeId: row.drugStoreId,
drugName: row.drugName,
description: row.drugDsc,
drugUsing: row.drugUsing,
drugDoseId: row.drugDoseId,
categoryId: row.categoryId
;
)
res.json(
ErrorDetail:
code: 0
,
Response: drugs
)
)
);
错误:连接丢失:服务器关闭了连接。在 Socket 的 Protocol.end (C:\Users\Administrator\AppData\Local\CaptainCure\n s\mysql\lib\protocol\Protocol.js:112:13)。 (C:\Users\Administrator\AppData\Local\Captain odules\mysql\lib\Connection.js:97:28) 在 Socket。 (C:\Users\Administrator\AppData\Local\Captain odules\mysql\lib\Connection.js:502:10) 在 Socket.emit (events.js:194:15) 在 endReadableNT (_stream_readable.js:1125:12 ) 在 process._tickCallback (internal/process/next_tick.js:63:19) 在 Connection._handleProtocolError (C:\Users\Administrator\AppData\ ainCure\node_modules\mysql\lib\Connection.js) 处发出“错误”事件:425:8) 在 Protocol.emit (events.js:189:13) 在 Protocol._delegateError (C:\Users\Administrator\AppData\Local\Ca node_modules\mysql\lib\protocol\Protocol.js:390:10 ) 在 Socket 的 Protocol.end (C:\Users\Administrator\AppData\Local\CaptainCure\ns\mysql\lib\protocol\Protocol.js:116:8)。 (C:\Users\Administrator\AppData\Local\Captain odules\mysql\lib\Connection.js:97:28) I— 匹配原始堆栈跟踪的行 ...] 在 process._tickCallback Cinternal/process/next_tick.js: 63:19> [nodemon I - wait in is (nodemon] si ing 'node app.js -erver is running on port: 3000 ode events.js:174 throw er; // 未处理的 'error' 事件是 (nodemon] 启动'node app.js' -erver 正在端口:3000 上运行
【问题讨论】:
你能告诉我们getDBConnection()函数返回什么吗? @R.Sarkarfunction getDBConnection() return mySql.createConnection( host: 'localhost', user: 'root', password: '***', database: 'captaincure' )
可能重复***.com/questions/20210522/…希望对你有帮助
【参考方案1】:
由于服务器已经在后台运行,所以我们必须重新启动。 如果你同时使用 iterm 和终端,那么你需要确保你只使用另一个你必须关闭。
【讨论】:
始终打开一个终端,并从我的端口使用一个进程以上是关于节点 events.js:174 throw er; // 未处理的“错误”事件的主要内容,如果未能解决你的问题,请参考以下文章
如何修复('throw er; //未处理'错误'事件')代码生命周期?
events.js:72 throw er; // Unhandled 'error' event
throw er; // Unhandled 'error' event