Задать вопрос
@reinmaker1990

Как пользоваться данными полученными из promise?

ДД, не ругайтесь пож-та, а просто подскажите или дайте ссылку на статью если есть в закладках где разжевывают эту тему, вот есть такой пример
let dataUsers;
  let url = "https://jsonplaceholder.typicode.com/users";
  fetch(url)
    .then((response) => response.json())
    .then((data) => (dataUsers = [...data]));

Как в коде потом можно пользоваться в дальнейшем данными сохраненными в переменной dataUsers?, т.е если вызвать ее сразу то очевидно что вернет undefined, если сделать через setTimeout, то могу получить значения, но это точно не верно, как при получении данных из асинхронного запроса потом их использовать в синхронном?
И если кто-то знает почему во vue.js такая же конструкция работает, т.е я могу сделать запрос из метода и записать результат в data и потом им пользоваться
  • Вопрос задан
  • 685 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@cloudz
Если хочется писать в стиле синхронного кода, воспользуйтесь async\await

const dataUsers = await fetch(url)...

Если хочется писать через промисы, то все должно решаться в коллбеках, т.е обработка результата вызова api, должна происходить в теле then
Ответ написан
1) Не присваивайте данные полученные в Promise глобальной переменной, иначе получите плохо поддерживаемый говнокод.
2) Вынесите код, который использует dataUsers в отдельную функцию и уже ее вызывайте в then
Это был первый этап, второй этап - https://habr.com/ru/company/mailru/blog/269465/
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы