Задать вопрос
@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 и потом им пользоваться
  • Вопрос задан
  • 621 просмотр
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@cloudz
Если хочется писать в стиле синхронного кода, воспользуйтесь async\await

const dataUsers = await fetch(url)...

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

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

Похожие вопросы
05 янв. 2025, в 07:48
2000 руб./за проект
05 янв. 2025, в 06:24
15000 руб./за проект
05 янв. 2025, в 06:22
15000 руб./за проект