У меня есть тот же вопрос, который был задан here.Назначить возвращаемое значение функции переменной
Я сделал функцию:
const rewardStayingViewersOrNewcomers =() => {
fetch('https://tmi.twitch.tv/group/user/instak/chatters')
.then(parseJSON)
.then(r => {
let chatters = r.chatters;
viewerKeys = Object.keys(chatters); // [mods, viewers,...]
let ChattersPerRole = viewerKeys.map(role => {
return chatters[role].map(username => ({
username, role
}));
});
return flattenDeep(ChattersPerRole);
}).catch(err => {
console.log(`Error in fetch: ${err}`);
});
};
Почему я не могу присвоить это значение возврата к моей переменной? Журнал этой переменной возвращает неопределенное значение ...
let viewersPerRole = rewardStayingViewersOrNewcomers();
setTimeout(() => console.log(viewersPerRole), 7000);
Bonus вопрос, как я мог легко ждать viewersPerRole быть заполнены данными я жду из выборки? (так что мне не нужно использовать setTimeout())?
Зачем вам _have_ возвращать перед излучением? – Kevin
Вам нужно вернуть значение, которое будет результатом вызова вознагражденияStayingViewersOrNewcomers(). Если вы этого не сделаете, результат будет неопределенным. – motanelu
Ну, я возвращал данные: 'return flattenDeep (ChattersPerRole);', no? – Kevin