首页 > 解决方案 > 快速响应中的 Node.js 错误未生成

问题描述

以下是 index.js 和路由器的片段。

index.js

.....

let defaultRoute = require('./routes/default')
app.use('/', defaultRoute)

app.use((err, req, res, next) => {
res.status(500);
res.json(err);
.....

默认.js

.....

router.get ('/', function (req, res){

    sql.connect(sqlConfig, function(err) {
        if(err) console.log(err);

        var request = new sql.Request();
        var sqlParams = [];

......

如果多个线程调用,只要我在第二个代码片段中点击 sql.connect,就会抛出错误并被 index.js 中的异常侦听器捕获。我可以看到错误,但是响应永远不会收到错误。它要去哪里?是否有 node.js 错误的地方?

顺便说一句,我只能在调试模式下看到的错误是“错误:全局连接已经存在。首先调用 sql.close()。\n 在 Object.connect'。我知道我需要使用连接池。我已经准备好代码了。我只是想知道是什么在重写响应或者是什么在吞噬我的错误。

我好奇的原因是 - 使用这样的代码,无论如何我都没有看到吐出的错误,当我在那里有断点时,我可以看到错误。但是 Kubernetes 上的相同代码会引发 Dynatrace 问题,并记录了详细的错误。在我用连接池修复我的代码之前,只是想了解一下。

标签: node.js

解决方案


推荐阅读