我有一个arangodb函数,它查询documents
中的所有instanceCollection
,在databasehelper.js
中:
listInstances = function listInstances() {
var instances = db.query(aqlQuery`
FOR doc in instanceCollection
RETURN doc
`).then(
cursor => cursor.all()
).then(
result => {
return result;
}
)
return instances;
}
另外,我想使用此函数将json查询反映到express api:
app.get('/', function(req, res) {
var allInstances = databasehelper.listInstances();
res.send(allInstances);
});
api结果只是一个空的json
{}
。如何将arangodb查询的结果反映到express api调用中?
最佳答案
了解承诺是如何运作的。下面是一个如何设计它的想法。
databasehelper.js=>返回承诺
listInstances = function listInstances() {
return db.query(`some query`)
.then(cursor => cursor.all())
}
在这个过程中,=>从承诺中获取数据
app.get('/', function(req, res) {
databasehelper.listInstances()
.then(result => {
res.send(result);
})
});
关于node.js - 如何从函数返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47688173/