Node.js 节点sparql客户端是否同步处理与端点的通信?
我正在使用查询我的端点并检索SPARQL结果。在获得查询结果后,是否同步处理与端点的通信和函数/回调的执行?我看了一下,但想不出多少。项目中的示例用法显示了对execute函数的调用:Node.js 节点sparql客户端是否同步处理与端点的通信?,node.js,sparql,Node.js,Sparql,我正在使用查询我的端点并检索SPARQL结果。在获得查询结果后,是否同步处理与端点的通信和函数/回调的执行?我看了一下,但想不出多少。项目中的示例用法显示了对execute函数的调用: client.query(query) //.bind('city', 'db:Chicago') //.bind('city', 'db:Tokyo') //.bind('city', 'db:Casablanca') .bind('city', '<http://dbpedia.org/
client.query(query)
//.bind('city', 'db:Chicago')
//.bind('city', 'db:Tokyo')
//.bind('city', 'db:Casablanca')
.bind('city', '<http://dbpedia.org/resource/Vienna>')
.execute(function(error, results) { … }); ; ** callback here
查询是异步进行的,实际上是回调处理结果。如果您需要在第一个查询完成且其结果可用后运行第二个查询,只需将其放入回调中即可。该代码中有大量的延续和回调,这表明存在一些异步执行。谢谢!。我需要按顺序向端点发送6个查询。所以,我需要将对sparql客户端的调用放在一些同步块中。谢谢,但我有6个查询,而不仅仅是2个。我已经将查询存储在一个数组中,并在其中循环。对于每个查询,我使用sparql客户端将其发送到端点,当回调返回时,处理该查询的结果。然后继续下一个查询。同样的原则也适用;只要让回调函数在数组中有一个索引,并为下一个回调函数增加索引,直到没有更多的查询需要处理……我不是一个Javascript程序员,但这里有一个使用回调函数在Common Lisp中执行迭代的示例。其思想是让回调函数引用索引,并使用递增的索引再次调用查询。
SparqlClient.prototype.execute = function (callback) {
this.sparqlRequest(this.currentQuery, callback);
return this;
}