首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >objection.js的javascript异步问题

objection.js的javascript异步问题
EN

Stack Overflow用户
提问于 2018-10-02 17:25:03
回答 1查看 639关注 0票数 0

好的,我使用Objection.js来处理node.js数据库中的一些内容。

我知道,我遇到的错误对于学习如何使用异步函数的人来说是很常见的,但我似乎无法让它正常工作。我的异步函数是在它完成查询之前返回一些东西(我认为)

代码语言:javascript
复制
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)

我得到的结果是这样

代码语言:javascript
复制
undefined
undefined
3957b from function
20GPSChadsCtrl from function

这样,我只能在查询它的函数中对返回的行进行操作。我想要的是一个简单的异步函数,我可以调用这个函数来从数据库中获取一个特定的行。谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-02 17:29:34

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

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

代码语言:javascript
复制
const sensor = await getStatusSensor();

大概是这样的:

代码语言:javascript
复制
getStatusSensor().then(sensor => {
  console.log(sensor.monitor)
  console.log(sensor.status_type)
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52613384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档