Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点sparql客户端是否同步处理与端点的通信?_Node.js_Sparql - Fatal编程技术网

Node.js 节点sparql客户端是否同步处理与端点的通信?

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/

我正在使用查询我的端点并检索SPARQL结果。在获得查询结果后,是否同步处理与端点的通信和函数/回调的执行?我看了一下,但想不出多少。

项目中的示例用法显示了对execute函数的调用:

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;
}