@mgmtx

Почему странно работают Promises?

Добрый день!

Есть такая конструкция:

const getData = async (data) => {
  data = JSON.parse(data);

  const promises = await data.bloggers.map((item) => getInfo(response.access_token, item.twitch_nickname));

  return Promise.all(promises);
};
getData(data).then(data => console.log(data));

async function getInfo(token, name) {
  const response = await axios.get(`https://api.twitch.tv/helix/streams?user_login=${name}`, {
    headers: {
      'Client-Id': '1uv0rg1z4x',
      'Authorization': `Bearer ${token}`
    },
  });

  let isLive = response.data.data.length != 0 ? true : false;
  return isLive;
}


В таком виде промисы работают хорошо, отдают результат, но стоит добавить фигурные скобки в .map(), конструкция перестает работать. Значения возвращаются undefined. getInfo в таком виде отдает Promise { pending }:

...
const promises = await data.bloggers.map((item) =>  {
  getInfo(response.access_token, item.twitch_nickname);
});
...


Может кто-нибудь объяснить почему так и что с этим делать?)
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ответы на вопрос 1
Seasle
@Seasle Куратор тега JavaScript
return пробовали написать?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы