我目前正在尝试编写一些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非常陌生,所以我确信我错过了一些东西,但根据我到目前为止的阅读,我不能说出是什么。
发布于 2017-07-14 19:16:11
承诺不会卡在待决状态。JavaScript是一个asynchronous language,这意味着console.log(getMembers());将在解析getMembers函数返回的promise之前执行。
如果您希望在解析getMembers函数时进行日志记录,请将您的console.log切换为:
getMembers().then(console.log);https://stackoverflow.com/questions/45101394
复制相似问题