【问题标题】:Node events.js:174 throw er; // Unhandled 'error' event节点 events.js:174 throw er; // 未处理的“错误”事件
【发布时间】: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.Sarkar function getDBConnection(){ return mySql.createConnection({ host: 'localhost', user: 'root', password: '***', database: 'captaincure' }) }
  • 可能重复stackoverflow.com/questions/20210522/…希望对你有帮助

标签: javascript node.js


【解决方案1】:

由于服务器已经在后台运行,所以我们必须重新启动。 如果你同时使用 iterm 和终端,那么你需要确保你只使用另一个你必须关闭。

【讨论】:

  • 始终打开一个终端,并从我的端口使用一个进程
猜你喜欢
  • 2018-11-19
  • 2020-12-12
  • 2018-05-04
  • 1970-01-01
  • 2019-11-10
  • 2018-07-23
  • 2015-03-01
  • 2019-01-27
  • 2021-01-11
相关资源
最近更新 更多