Node.js Objective.js的javascript异步问题

Node.js Objective.js的javascript异步问题,node.js,asynchronous,objection.js,Node.js,Asynchronous,Objection.js,好的,我正在使用objective.js处理node.js中的一些数据库内容 我知道我遇到的错误对于学习如何使用异步函数的人来说是很常见的,但我似乎无法让它正常工作。我的异步函数在完成查询之前返回了一些内容(我想) 我得到的结果是这样的 undefined undefined 3957b from function 20GPSChadsCtrl from function 因此,我只能在查询它的函数中对返回的行进行操作。 我想要的是一个简单的异步函数,我可以调用它来从数据库中获取特定的行。 谢

好的,我正在使用objective.js处理node.js中的一些数据库内容
我知道我遇到的错误对于学习如何使用异步函数的人来说是很常见的,但我似乎无法让它正常工作。我的异步函数在完成查询之前返回了一些内容(我想)

我得到的结果是这样的

undefined
undefined
3957b from function
20GPSChadsCtrl from function
因此,我只能在查询它的函数中对返回的行进行操作。 我想要的是一个简单的异步函数,我可以调用它来从数据库中获取特定的行。
谢谢你的帮助

由于
getStatusSensor
标记为
async
,因此它将返回一个承诺,您必须等待得到解决后才能使用结果

或者类似(如果您是从另一个
async
函数调用它):

或者像这样:

getStatusSensor().then(sensor => {
  console.log(sensor.monitor)
  console.log(sensor.status_type)
});

第二行的可能重复工作,但第一行没有。我有点困惑,因为我认为第一个是另一个异步函数。我想,如果我想使用您的第一个示例,从另一个异步函数调用,我将如何更改该函数?thanks@skrite
async
函数是用
async
关键字D标记的函数
const sensor = await getStatusSensor();
getStatusSensor().then(sensor => {
  console.log(sensor.monitor)
  console.log(sensor.status_type)
});