将数据存储在变量arangojs中

时间:2016-05-01 10:42:05

标签: arangodb arangojs

作为node.js的工作,我有一个名为IoTCollection的集合包含一个文档

{id:1,  传感器:12 }

我需要将返回的数据存储到变量

var my data = db.query('FOR sensor in IoTCollection return sensor.sensorType');

但它会返回待处理的承诺

我该怎么办?

提前谢谢

1 个答案:

答案 0 :(得分:2)

你究竟是什么问题?

arangojs中的所有异步方法都会返回promise。这些promise将最终解析为服务器响应(或者在查询的情况下:具有更多异步方法的游标对象)。如果出现错误,应使用指示问题的特定错误对象拒绝承诺。

如果承诺没有得到解决或拒绝,那可能就是一个错误。

如果您不熟悉承诺,我建议您首先阅读a tutorial like David Walsh's。 promise表示函数返回时不知道的函数结果(或错误)(但最终会知道)。 Promises是去年在JavaScript中引入的新语言功能,所以我建议你习惯它们。

如果你想知道为什么arangojs有异步方法而不是完全同步(比如ArangoDB的内部JavaScript函数):Node.js(和浏览器)中的所有网络访问都是异步的,所以arangojs可以& #39; t在底层异步API之上提供同步API。要了解有关ArangoDB同步但Node是异步的原因的更多信息,我建议您查看the ArangoDB Foxx webinar