Как положить результаты выполнения Promise в массив?
Есть функция F, которая возвращает Promise
Нужно в цикле вызвать функцию F 10 раз и положить результаты выполнения в массив results После этого нужно продолжить работу с массивом results.
Как это можно реализовать? Заранее спасибо
Ответы (2 шт):
Автор решения: Alex Krass
→ Ссылка
Можно через 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);
});
Автор решения: fortavey
→ Ссылка
let results = [];
function foo(index){
return new Promise((resolve, reject) => {
resolve(index);
});
}
for(let i = 1; i < 11; i++){
results.push(foo(i));
}