好的,我使用Objection.js来处理node.js数据库中的一些内容。
我知道,我遇到的错误对于学习如何使用异步函数的人来说是很常见的,但我似乎无法让它正常工作。我的异步函数是在它完成查询之前返回一些东西(我认为)
async function getStatusSensor() {
const sensors = await StatusSensor.query()
.select('*').limit(1)
var sensor = sensors[0]
console.log(sensor.monitor + " from function")
console.log(sensor.status_type + " from function")
return sensor;
}
const sensor = getStatusSensor()
console.log(sensor.monitor)
console.log(sensor.status_type)我得到的结果是这样
undefined
undefined
3957b from function
20GPSChadsCtrl from function这样,我只能在查询它的函数中对返回的行进行操作。我想要的是一个简单的异步函数,我可以调用这个函数来从数据库中获取一个特定的行。谢谢你的帮助!
发布于 2018-10-02 17:29:34
由于getStatusSensor被标记为async,它将返回一个承诺,您必须等待解决后才能使用结果。
或者是这样(如果您是从另一个async函数调用它):
const sensor = await getStatusSensor();大概是这样的:
getStatusSensor().then(sensor => {
console.log(sensor.monitor)
console.log(sensor.status_type)
});https://stackoverflow.com/questions/52613384
复制相似问题