我使用req, res
模块为Node创建了一个包含所有查询的单独文件。虽然对于大多数人来说,我只是在查询后使用undefined
,而我想要返回一个值。这是行不通的。它返回passportLogin: (email)=> {
db.one(`SELECT userid
FROM user`)
.then( result => {
return result;
})
.catch( error => {
return error;
});
}
。
keyPressed
答案 0 :(得分:1)
该代码同时存在两个问题:
.catch
return result
内进行,而不是承诺拒绝的处理方式时,你必须提供错误处理,或者重新抛出/重新拒绝错误。< / LI>
I need to catch if it returns more than one row...
,这是一个逻辑矛盾。它的结果如下:您的查询成功执行,并返回多条记录,这反过来使方法one拒绝,然后您采取拒绝原因并将其转换为已解决的原因做return result
。总而言之,您的代码遍布整个地方。
首先,使用pg-promise,您应该使用正确的方法,根据您期望的记录数量,请参阅The Basics。
然后根据您的业务逻辑处理.then/.catch
。我在这里不能更具体,因为你没有提供更多细节。