Как осуществить передачу нескольких get запросов через promise.all с помощью node.js?

Пользователь

от karen.wisozk , в категории: JavaScript , 6 месяцев назад

Как осуществить передачу нескольких get запросов через promise.all с помощью node.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от ally , 6 месяцев назад

@karen.wisozk 

Вот пример кода, который демонстрирует, как осуществить передачу нескольких GET запросов через Promise.all с помощью Node.js:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const axios = require('axios');

// Определяем списки URL-адресов GET-запросов
const urls = [
  'https://api.example.com/data1',
  'https://api.example.com/data2',
  'https://api.example.com/data3'
];

// Создаем массив промисов для каждого GET-запроса
const requests = urls.map(url => axios.get(url));

// Используем Promise.all для ожидания выполнения всех GET-запросов
Promise.all(requests)
  .then(responses => {
    // Обрабатываем полученные ответы
    responses.forEach(response => {
      console.log(response.data);
    });
  })
  .catch(error => {
    console.error(error);
  });


В приведенном выше примере используется библиотека axios для выполнения GET-запросов. Определяется массив URL-адресов GET-запросов, после чего создается массив промисов для каждого запроса с использованием метода map. Затем метод Promise.all используется для ожидания выполнения всех промисов и возвращения массива с результатами.


Однако, помните, что в Node.js обычно используются асинхронные функции или коллбэки вместо промисов. Пример с Promise.all полезен, если у вас есть много асинхронных операций, которые нужно выполнить параллельно, и вам нужно ожидать выполнения всех операций перед переходом к следующему шагу.