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);
我目前正在尝试编写一些 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);