NodeJS в ожидании обещания
В настоящее время я пытаюсь написать некоторый код 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, поэтому я уверен, что что-то упустил, но пока не могу сказать, что основано на моем чтении.
1 ответ
Решение
Обещание не застряло в ожидании. JavaScript это asynchronous language
Это означает, что console.log(getMembers());
будет выполнен до обещания, возвращенного getMembers
функция решена.
Если вы хотите войти, когда getMembers
функция решена, переключите ваш console.log
к этому:
getMembers().then(console.log);