我正在尝试从 js 函数调用中返回一个值
var elasticsearch = require('elasticsearch');
var client = elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
var r="";
client.ping({
// ping usually has a 3000ms timeout
requestTimeout: Infinity,
// undocumented params are appended to the query string
hello: "elasticsearch!"
}, function (error) {
if (error) {
console.trace('elasticsearch cluster is down!');
} else {
console.log('All is well ping');
function getmeresResult(err, result) {
if (err) return err;
console.log("Got res in ping "+result);
return result;
}
r=getmeres(client,getmeresResult);
console.log("inner r is "+r);
return r;
}
});
console.log("outer r is "+r);
这给了我
Got res in ping 12,12,23
inner r is 12,12,23
console.log("outer r is "+r);
从来没有打印过!这是为什么?如何从 client.ping 函数调用中“输出”结果?