【发布时间】:2017-07-22 02:10:15
【问题描述】:
我正在使用 pg-promise 开发一个 Node 项目。我需要用查询的结果来兑现一个承诺,但是我无法得到结果。
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;
});
但另一个承诺(应该接收数据)永远不会得到任何东西...... 如何从查询中获取结果? (我可以将它们记录到控制台)。
【问题讨论】:
-
您不会从函数中返回任何内容 - 执行
return PG.db.any...并在then()中使用return data; -
嗯,我加了
return,但是其他的Promise还是没有得到任何东西。 -
能否添加负责调用
get2函数的代码? -
return new Promise((resolve, reject) => { M.get2(id, (err, data) => { if (err) { return reject (err); } console.log('got success on promise with ' + data); resolve(data); }); });
标签: node.js promise pg-promise