微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Heroku H12 使用 db.query 方法 node.js 时出现“请求超时”错误

如何解决Heroku H12 使用 db.query 方法 node.js 时出现“请求超时”错误

每当我尝试从 Heroku 应用程序 Node.js 连接 Postgres 数据库时,我都会收到 H12“请求超时”错误。我认为这是因为在使用没有 db.query 方法函数进行确认后,没有将响应发送到前端。它工作正常。现在,每当我们尝试使用 db.query 时,流程都会终止。我是 Heroku 和 Postgres 数据库的新手。帮我解决这个问题

    var pgp = require("./pgpromise.js");
var cn = {
  host: "xxxx",// 'localhost' is the default;
  port: 5432,// 5432 is the default;
  database: "xxx",user: "xxx",password: "xxx",};
var db = pgp(cn); // database instance;
module.exports = db;



app.post("/getaccount",async (req,res) =>{
  var query = "select * from table_name";
  await db.query(query,true)
      .then(function (data) {
        return res.json(data);
      })
      .catch(function (err) {
        console.log("ERROR:",err); // print the error;
        return res.status(400).json({ success: false,error: err });
      })
  });

解决方法

我遇到了同样的问题,我解决了这个问题,在部署到 heroku 之前在 package.json 中指定了引擎版本。类似的东西:

...
    "engines": {
        "node": "12.18.3"
      }
....

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。