gpt4 book ai didi

node.js - 如何解决 Arango 查询 promise 错误?

转载 作者:太空宇宙 更新时间:2023-11-03 22:08:38 25 4
gpt4 key购买 nike

我一直在尝试使用肥皂消息从 Arangodb 获取查询结果到我的前端服务(Angular 4)。我能够获得查询结果,但在 console.log 中打印出来。但是在这个功能(Service)下怎么获取呢?

这样我就可以输入肥皂消息:

var soap_msg = '<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:examples:CheckUserNameService">' +
'<soapenv:Header/>' +
'<soapenv:Body>' +
'<urn:CheckUserNameResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">' +
'<status xsi:type="xsd:string">' + (Service) + '</status>' +
'</urn:CheckUserNameResponse>' +
'</soapenv:Body>' +
'</soapenv:Envelope>';

我发布此问题时得到了回复,要求使用 await 或 .this(),然后我更新了代码,但错误仍然存​​在。

我尝试使用类似这样的字符串输入随机变量来检查肥皂消息。,

var payload = [null,"192.168.72.237"];

工作正常。查询有问题

var Service = db.query(aqlQuery `
LET startVertex = (FOR doc IN spec
FILTER doc.serial_no == '"123456abcde"'
LIMIT 2
RETURN doc
)[0]

FOR v IN 1 ANY startVertex belongs_to
RETURN v.ip`, {
bindVar1: 'value',
bindVar2: 'value',
}).then(function(res) {
console.log("doc" + res._result);
})

版本是

  • “Node ”:“8.9.4”
  • “arangojs”:“^5.8.0”,
  • "express": "^4.16.2",
  • “express-generator”:“^4.15.5”

我没有任何线索可以从这里继续下去。

AQL Query returns a Promise

最佳答案

要为您解决 Promise,需要调用游标的 .all 函数,以便它返回值。

This site 有一个很好的例子,很简单:

db.query('FOR doc IN documents RETURN doc')
.then((cursor) => { return cursor.all() })
.then((doc) => { console.log(doc) });

然后调用第一步返回的promise来提取记录,游标返回的就是你要查找的文档。

例如

var Service = db.query(aqlQuery `
LET startVertex = (FOR doc IN spec
FILTER doc.serial_no == '"123456abcde"'
LIMIT 2
RETURN doc
)[0]

FOR v IN 1 ANY startVertex belongs_to
RETURN v.ip`, {
bindVar1: 'value',
bindVar2: 'value',
}).then(function(cursor) { // Add this to return the documents in the promise
return cursor.all()
}).then(function(res) {
console.log("doc" + res._result);
})

关于node.js - 如何解决 Arango 查询 promise 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48966201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com