0

我正在尝试在我的 Wire Cloud 小部件中使用 NGSI API 进行查询,但总是失败并且我没有收到任何信息:

var descubrimiento = connection.query([{
       isPattern: true,
       id: MashupPlatform.prefs.get('idfuente')
   }],
   null,
   {
      flat: true              
   }
);

connection是我与上下文代理建立连接的对象,它工作正常。此外,如果我通过 RESTclient 使用 NGSI10 RESTful API 进行查询,我会收到我想要的数据,但使用我的小部件中的 Wirecloud NGSI API 进行查询是不可能的。

有人也有这个问题吗?

4

1 回答 1

2

查看本教程,了解如何使用 WireCloud 中的 Orion Context Broker。

主要问题是您假设查询响应是同步返回的,而实际上是异步返回的。为了能够读取返回的数据,您需要传递一个 onSuccess 回调。一旦来自 Orion 服务器的响应可用,就会调用此回调。Orion 返回的数据将作为 onSuccess 回调函数的第一个参数传递(有关如何格式化返回数据的示例,请参阅参考文档)。例如:

connection.query([{
       isPattern: true,
       id: MashupPlatform.prefs.get('idfuente')
   }],
   null,
   {
      flat: true,
      onSuccess: function (descubrimiento) {
          ...
      }
   }
);
于 2014-05-28T15:52:23.987 回答