2017-07-14 97 views
0

我目前正在尝试编写一些NodeJS(v6.11.0)代码来与其他人交谈,但是当我尝试操纵数据时,我得到的答复仍然处于未决状态。代码如下:NodeJS待定承诺

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

是,getMembers凭借。然后返回一个承诺返回一个承诺 –

+0

你想'getMembers()。然后(的console.log)'。你必须等待承诺才能实现! – Bergi

回答

3

该承诺未陷入悬而未决。 JavaScript是asynchronous language,这意味着console.log(getMembers());将在解决由getMembers函数返回的许诺之前执行。

如果你想登录时getMembers功能得到解决,切换您console.log这个:

getMembers().then(console.log);