【问题标题】:pg-promise hangs after six queriespg-promise 在六个查询后挂起
【发布时间】:2016-04-03 23:20:08
【问题描述】:

我正在使用 pg-promise 开发一个项目。我尝试使用 pg-promise 查询几种不同的方式,但它们似乎都导致它在 6 次查询后挂起。

在我看来,连接并没有被关闭,但我在文档中找不到关于在查询后关闭连接的任何内容。

这就是我所拥有的

var cn = {
host: 'localhost',
port: 5432,
database: 'db',
user: 'user',
password: 'password'
};
var db = pgp(cn);

function query(sql, params) {
return db.task(function (t) {
    // this = t = task protocol context;
    // this.ctx = task config + state context;
    return t.query(sql, params);
})
.then(function (events) {
    // success;
    console.log(events);
})
.catch(function (error) {
    // error;    
});
}

我也尝试使用共享连接,对象,但文档建议使用任务。有谁知道这里发生了什么?

【问题讨论】:

  • 您的代码没有显示任何错误。但是你没有展示你如何使用函数query,或者你如何初始化pg-promise - 用什么options?并且您应该检查报告了哪些错误(如果有),并在此处提供详细信息。归根结底,没有人报告过这样的 pg-promise 问题,所以你遇到的这个问题一定有其独特的一面,你只需要提供更多细节。
  • 感谢您的评论,我真的想通了。事实证明这实际上是因为我没有向浏览器返回响应。我对 node/express 很陌生,没有意识到它们不会像 apache/php 那样自动返回。它确实工作得很好。

标签: pg-promise


【解决方案1】:

我不确定这是否会对将来的任何人有所帮助。但我的问题是没有向浏览器返回请求。

我达到了最大连接数,但没有对浏览器的响应使它似乎挂在我身上。我没有意识到请求是 node/express 不会像使用 php/apache 那样自动返回。

【讨论】:

    猜你喜欢
    • 2020-08-03
    • 2019-02-11
    • 2017-10-14
    • 2018-02-19
    • 2020-01-17
    • 2013-06-23
    • 2020-10-15
    • 2017-07-22
    相关资源
    最近更新 更多