首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用查询发送错误对错误进行排序:读取ECONNRESET

用查询发送错误对错误进行排序:读取ECONNRESET
EN

Stack Overflow用户
提问于 2017-04-08 20:46:49
回答 3查看 9.1K关注 0票数 0

PostgreSQL 9.6.2我从node.js / express.js应用程序发送查询。

sequelize提供了文档如何进行查询,这个例子是findAll。

我试着做同样的例子。

代码语言:javascript
运行
复制
console.log('user id: ', req.decoded);
db.orders.findAll({where: {userId: req.decoded.id}})
    .then(function (orders) {
        console.log('orders from db: ', orders);
    })
    .catch(function (err) {
        console.log('orders request error from db: ', err);
    });
console.log('end of function');

控制台日志:

代码语言:javascript
运行
复制
user id:  { id: 2 }
end of function
orders request error from db:  { SequelizeConnectionError: read ECONNRESET
    at D:\NodeJSProjects\ParkingHouse\node_modules\sequelize\lib\dialects\postgres\connection-manager.js:110:20
    at Connection.<anonymous> (D:\NodeJSProjects\ParkingHouse\node_modules\pg\lib\client.js:186:5)
    at emitOne (events.js:96:13)
    at Connection.emit (events.js:188:7)
    at Socket.<anonymous> (D:\NodeJSProjects\ParkingHouse\node_modules\pg\lib\connection.js:86:10)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at emitErrorNT (net.js:1278:8)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
  name: 'SequelizeConnectionError',
  message: 'read ECONNRESET',
  parent: 
   { Error: read ECONNRESET
       at exports._errnoException (util.js:1022:11)
       at TCP.onread (net.js:569:26) code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' },
  original: 
   { Error: read ECONNRESET
       at exports._errnoException (util.js:1022:11)
       at TCP.onread (net.js:569:26) code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' } }

一段时间后,请求被重复,然后我从db获得数据。我找到了类似的话题节点js ECONNRESET,但我没有找到答案。

  1. 为什么db关闭连接?以及如何修复它。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-25 19:42:59

问题是防病毒F-安全,改变它和所有的工作。一些问题:https://community.f-secure.com/t5/Business/DeepGuard-seems-to-cause/td-p/88447

票数 1
EN

Stack Overflow用户

发布于 2017-04-08 21:23:02

你正在失去你的联系。可能您没有在框架中调用next()。或者不完成交易。这种结构没有意义:

代码语言:javascript
运行
复制
.then(function (foundUser) {
      return foundUser;
  }).catch(function (err) {
    //get here the exception
    return err;
  });

只要把它移开。然后重写控制器如下所示

代码语言:javascript
运行
复制
const user = await authorize(req);
if (!user) {
    res.status(401).send('Authorization required');
    return next();
}
res.status(200).send('All ok');
next();

如果出错,您的框架将自动为您服务500。如果您想手动处理它,请使用try {等待承诺} catch (err) {}如果您使用的东西还不支持等待/异步,就不要看一看http://koajs.com/

票数 1
EN

Stack Overflow用户

发布于 2019-09-27 08:18:48

我今天也犯了类似的错误

代码语言:javascript
运行
复制
{ 
 error: {
   Error: write ECONNRESET at WriteWrap.afterWrite (net.js:788:14) errno: 'ECONNRESET',
   code: 'ECONNRESET', syscall: 'write'
 } 
}

您需要设置数据库最大池或避免同时发送多个池。

这里有一个github线程可以帮助您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43300185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档