@Waniman

Как реализовать функцию с множеством AJAX-запросов, которая возвращает их ответы?

Нужна JS функция, в которой будет много разных AJAX-ов и она должна возвращать их значения, чтобы к ним потом можно было обратиться из других функций. Как это можно сделать?
  • Вопрос задан
  • 262 просмотра
Пригласить эксперта
Ответы на вопрос 3
dimovich85
@dimovich85 Куратор тега JavaScript
https://u-academy.net/
async...await, Promise.allSettled (очень свежий, с пылу с жару - можно обжечься).
Ответ написан
Комментировать
hzzzzl
@hzzzzl
async function getData() {
  const urls = {
    comments: 'https://jsonplaceholder.typicode.com/comments', 
    users: 'https://jsonplaceholder.typicode.com/users', 
    posts: 'https://jsonplaceholder.typicode.com/posts'
  }

  const data = {}

  for (const [key, value] of Object.entries(urls)) {
    const res = await fetch(value)
    data[key] = await res.json()
  }

  return data
}

console.log(await getData())
Ответ написан
Комментировать
achubutkin
@achubutkin
let urls = [
  'https://api.github.com/users/iliakan',
  'https://api.github.com/users/remy',
  'https://api.github.com/users/jeresig'
];

// map every url to the promise of the fetch
let requests = urls.map(url => fetch(url));

// Promise.all waits until all jobs are resolved
Promise.all(requests)
  .then(responses => responses.forEach(
    response => alert(`${response.url}: ${response.status}`)
  ));


Тут больше примеров https://javascript.info/promise-api
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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