我有一个函数可以获取特定时间段内的数据总和
const cashData = db.query(`SELECT SUM (payments_log.amount_paid) FROM payments_log WHERE payments_log.payment_method = '2' AND payments_log.inserted_at BETWEEN $1 AND NOW() `, [date])
.then(records => {
return records[0].sum
})
.catch(error => {
cb(new Error(`Print failed: ${error}`))
})
但是当我运行它时,我的结果是[对象 promise ]。这是为什么?
最佳答案
您需要等到 promise 完成:
const cashData = db.query(`SELECT SUM (payments_log.amount_paid) FROM payments_log WHERE payments_log.payment_method = '2' AND payments_log.inserted_at BETWEEN $1 AND NOW() `, [date])
.then(records => {
return records[0].sum
})
.catch(error => {
cb(new Error(`Print failed: ${error}`))
});
cashData.then(res => console.log(res));
关于javascript - 返回时无法从 promise 中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52154294/