我目前正在尝试编写一些NodeJS(v6.11.0)代码来与之交谈,但是当我尝试操作数据时,我得到了回复,承诺仍然处于未决状态。代码如下:
const { Etcd3 } = require('etcd3');
const client = new Etcd3();
function getMembers() {
return client.cluster.memberList()
.then(function(value) {
value.members.map(function(member) {
return member.name;
});
});
};
console.log(getMembers());
运行CLI时的输出是:
Promise { <pending> }
我对Javascript很新,所以我肯定我错过了一些内容,但根据我的阅读内容无法分辨出来。
答案 0 :(得分:4)
承诺不会陷入未决状态。 JavaScript是asynchronous language
,意味着console.log(getMembers());
将在getMembers
函数返回的承诺解决之前执行。
如果您想在getMembers
功能解析后进行记录,请将console.log
切换为:
getMembers().then(console.log);