gpt4 book ai didi

node.js - 从 pg-promise 查询中获取结果

转载 作者:太空宇宙 更新时间:2023-11-03 21:55:25 25 4
gpt4 key购买 nike

我正在使用 pg-promise 开发一个 Node 项目。我需要用查询结果履行 promise ,但我无法获取结果。

get2 : function(id) {
var qrm = pgp.queryResult;
PG.db.any('SELECT * FROM referentiel_rd_client WHERE id=\'' + id + '\'')
.then(data => {
console.log('got query results');
resolve(data);
})
.catch(error => {
// error;
});

但是另一个 promise (应该接收数据)永远不会得到任何东西......如何从查询中获取结果? (我可以将它们记录到控制台)。

最佳答案

  • 不要做出不必要的 promise ,这是一个 anti-pattern
<小时/>
  • 如果要预处理结果,最后直接返回结果即可,这就是 promise 的工作原理:

    get2: (id) => {
    return PG.db.any('SELECT * FROM referentiel_rd_client WHERE id=$1', id)
    .then(data => {
    console.log('got query results:', data);
    return data;
    });
<小时/>
  • 切勿手动设置查询格式,应使用库附带的查询格式化引擎,否则最终会破坏查询。
<小时/>

然后你会这样调用它:

get2(123)
.then(data => {
// success
})
.catch(error => {
// error
});

关于node.js - 从 pg-promise 查询中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42553923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com