NodeJS 未决承诺

NodeJS Pending Promise

我目前正在尝试编写一些 NodeJS (v6.11.0) 代码来与 etc 通信,但是当我尝试操作数据时,我返回了 promise 停留在待定状态。代码如下:

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 的新手,所以我确定我遗漏了一些东西,但根据我目前的阅读无法判断是什么。

promise 没有卡在 pending 中。 JavaScript 是一个 asynchronous language,这意味着 console.log(getMembers()); 将在 getMembers 函数返回的承诺被解析之前执行。

如果您想在 getMembers 函数解决时记录,请将您的 console.log 切换为:

getMembers().then(console.log);