TransWikia.com

Как положить результаты выполнения Promise в массив?

Stack Overflow на русском Asked by Aston Martin on November 24, 2021

Есть функция F, которая возвращает Promise

Нужно в цикле вызвать функцию F 10 раз и положить результаты выполнения в массив results
После этого нужно продолжить работу с массивом results.

Как это можно реализовать? Заранее спасибо

2 Answers

let results = [];
function foo(index){
  return new Promise((resolve, reject) => {
      resolve(index);
  });
}
for(let i = 1; i < 11; i++){
  results.push(foo(i));
}

Answered by fortavey on November 24, 2021

Можно через Promise.all дождать завершения всех запросов и дальше в обработчике вы получите массив результатов каждого из Promise.

Promise.all([
  // Массив из Promise элементов
  fetch('https://jsonplaceholder.typicode.com/todos/1').then(response => response.json()),
  fetch('https://jsonplaceholder.typicode.com/todos/1').then(response => response.json())
]).then(results => {
  console.log(results);
});

Answered by Alex Krass on November 24, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP