Arangodb 将数据存储在变量arangojs中

Arangodb 将数据存储在变量arangojs中,arangodb,arangojs,Arangodb,Arangojs,在node.js上工作时,我有一个名为IoTCollection的集合,其中包含一个文档 {id:1, 传感器:12 } 我需要将返回的数据存储到一个变量中 var my data = db.query('FOR sensor in IoTCollection return sensor.sensorType'); 但它返回了一个悬而未决的承诺 我该怎么办 提前谢谢你你的问题是什么 arangojs中的所有异步方法都返回承诺。这些承诺最终将解析为服务器响应(或者在查询的情况下:具有更多异步方法

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

{id:1, 传感器:12 }

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

var my data = db.query('FOR sensor in IoTCollection return sensor.sensorType');
但它返回了一个悬而未决的承诺

我该怎么办


提前谢谢你

你的问题是什么

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

如果承诺根本没有得到解决或拒绝,那很可能是一个bug

如果你不熟悉承诺,我建议你先读一读。承诺表示函数返回时未知的函数结果(或错误)(但最终将变为已知)。承诺是JavaScript去年引入的一种新的语言特性,所以我建议您习惯它们


如果您想知道为什么arangojs使用异步方法而不是完全同步(就像ArangoDB的内部JavaScript函数):Node.js(和浏览器)中的所有网络访问都是异步的,因此arangojs无法在底层异步API之上提供同步API。要进一步了解为什么ArangoDB是同步的,而Node是异步的,我建议您看看。

您的问题到底是什么

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

如果承诺根本没有得到解决或拒绝,那很可能是一个bug

如果你不熟悉承诺,我建议你先读一读。承诺表示函数返回时未知的函数结果(或错误)(但最终将变为已知)。承诺是JavaScript去年引入的一种新的语言特性,所以我建议您习惯它们


如果您想知道为什么arangojs使用异步方法而不是完全同步(就像ArangoDB的内部JavaScript函数):Node.js(和浏览器)中的所有网络访问都是异步的,因此arangojs无法在底层异步API之上提供同步API。要进一步了解为什么ArangoDB是同步的,而Node是异步的,我建议您看看。

谢谢您的启发!我要走了it@Slyfer如果这回答了问题,你能将我的回答标记为已接受,这样这个问题就不再显示为未回答了吗?否则,你能告诉我有什么遗漏或者我能做些什么来帮助你吗?谢谢你的启发!我要走了it@Slyfer如果这回答了问题,你能将我的回答标记为已接受,这样这个问题就不再显示为未回答了吗?否则,你能告诉我遗漏了什么,或者我还能做些什么来帮助你吗?答案对你有用吗?如果是,您能将其标记为“已接受”吗?如果没有,缺少什么?答案对你有用吗?如果是,您能将其标记为“已接受”吗?如果没有,缺少什么?