javascript - 每当发生错误时,NodeJs 应用程序“挂起”或“冻结”
问题描述
当我向我的 nodejs 服务器发出多个 post 请求并且所有参数都正确时,一切正常(并且不会冻结)但是当我使用不正确的参数发出多个 post 请求时,我的 nodejs 服务器只是冻结/挂起一段时间一会儿。为什么是这样?
这是我的代码顺便说一句
app.post('/pushtransaction', function(req, res) {
console.log(req.body);
console.log(5);
if (req.body.sigs) {
let sigver = xmf.modules.ecc.Signature.from(req.body.sigs).toString();
let lasig = [sigver];
console.log(req.body.packedTr);
let transi = JSON.parse(req.body.packedTr);
//let sigver = req.body.sigs;
let package = {
compression: 'none',
transaction: transi,
signatures: lasig
}
console.log(package);
//Pushes tx in correct format
xmf.pushTransaction(package).then(result=>{
res.send(result);
res.end();
console.log(result);
}).catch(err => {
console.log(err)
});
}
})
解决方案
当您遇到错误时,您的 Node 服务器除了错误之外不知道该做什么console.log()
。它需要结束该请求并发送一些响应。res.status(400).send({ error: err })
当你在捕获范围内时,你可以。
推荐阅读
- javascript - textContent 对象属性不起作用
- python - Discord.py 禁止命令
- python - 当数据不平衡时,将数据拆分为测试训练数据
- ngxs - 在@ngxs/form-plugin 中,示例中提到的属性的定义是什么?
- ffmpeg - FFmpeg avcodec_decode_video2 将 RTSP H264 高清视频包解码为有错误的视频图片
- python - 数据框的条件合并
- vb.net - 使用 XPath 提取子字符串,其中字段中可能没有尾随分隔符
- orientdb - 有没有办法在 OrientDB 中将 ISO 8601 兼容日期设置为 DateTime 格式?
- javascript - 渲染存储在数据库中的 javascript
- ethereum - 如何从以太坊地址获取 ERC20、ERC721 和 ERC827 代币列表