node.js - 快速响应中的 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 问题,并记录了详细的错误。在我用连接池修复我的代码之前,只是想了解一下。
解决方案
推荐阅读
- python - 如何读取没有 [ ] 的 .json 文件?
- jquery - jQueryFileUpload - S3 - 空文件上传结果错误
- macos - OS X 是否有任何类似于 linux 中的 on_each_cpu() 的内核函数
- java - SonarQube 漏洞 - S3749 - @Config 问题
- java - 强制 AWS 库从 docker 集群内的环境中获取区域
- javascript - Firebase 使用 JavaScript 按钮删除整行
- c++ - 链接外部共享库android ndk
- c# - Taglib 艺术家字符串错误 System.String[]
- java - Android 将按钮或视图保留在应用内所有活动的前面,而不使用 baseActivity
- c - ncurses.h 扩展字符在 c 中无法正确显示