Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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
使用ElasticSearch javascript客户端创建索引时,promise不会返回_Javascript_Node.js_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Promise - Fatal编程技术网 elasticsearch,promise,Javascript,Node.js,elasticsearch,Promise" /> elasticsearch,promise,Javascript,Node.js,elasticsearch,Promise" />

使用ElasticSearch javascript客户端创建索引时,promise不会返回

使用ElasticSearch javascript客户端创建索引时,promise不会返回,javascript,node.js,elasticsearch,promise,Javascript,Node.js,elasticsearch,Promise,这是一个小时以来一直让我抓狂的东西。我正在做一个附带项目,涉及使用Javascript访问ElasticSearch。作为测试的一部分,我想创建一个索引。以下是一个非常简单的代码片段,在我看来,它应该做到这一点,并打印从ElasticSearch服务器返回的消息: var es = require('elasticsearch'); var es_client = new es.Client({host: "localhost:9200"}); var breaker = Math.floor

这是一个小时以来一直让我抓狂的东西。我正在做一个附带项目,涉及使用Javascript访问ElasticSearch。作为测试的一部分,我想创建一个索引。以下是一个非常简单的代码片段,在我看来,它应该做到这一点,并打印从ElasticSearch服务器返回的消息:

var es = require('elasticsearch');

var es_client = new es.Client({host: "localhost:9200"});
var breaker = Math.floor((Math.random() * 100) + 1);

var create_promise = es_client.indices.create({index: "test-index-" + breaker});
create_promise.then(function(x) {
    console.log(x);
}, function(err) { console.log(err);});
当我转到一个目录,运行
npm install elasticsearch
,然后使用NodeJS运行此代码时,会发生的情况是,发出了请求,但由于某种原因,承诺没有返回。我希望这段代码运行到最后,并在ES服务器返回响应后完成。相反,进程只是挂起。你知道为什么吗


我知道只需向索引中添加一个文档就可以创建索引,但这种奇怪的行为让我感到困扰,我无法找出其背后的原因或意义。

默认情况下,客户端保持与elasticsearch的持久连接,以便后续对同一节点的请求速度更快。这样做的副作用是在调用
client.close()
之前,阻止节点正常关闭。您可以将其添加到回调中,或者通过将
keepAlive:false
添加到客户端配置中来禁用keepAlive连接。

查看源代码后,我几乎可以肯定这是一个bug-请在github上的跟踪器中打开一个问题