У меня есть ситуация, когда мне нужно l oop через массив URL-адресов и получить результат, но мне нужно сохранить порядок запросов, то есть первый запрос должен быть «сохранен» (запись в файл ) сначала и тд. Результатом запросов являются текстовые файлы, и в их содержимом отсутствуют какие-либо данные, раскрывающие исходный URL-адрес или порядок.
Ниже я сделал демонстрационный пример, который извлекает фиктивные JSON данные.
let promises = [];
let data = [];
let i = 1;
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('Accept', 'application/json');
const fn = async() => {
while (i < 5) {
promises.push(
fetch('https://reqres.in/api/users/' + i, {
mode: 'cors',
headers: headers
})
.then(response => response.json())
.then(json => {
data.push(json)
})
)
i++;
}
await Promise.all(promises).then(() => {
console.log(data);
})
}
fn();
Если вы протестируете приведенный выше код, вы увидите, что результаты в случайном порядке (на основе идентификатора), и поскольку файлы в моем исходном коде являются текстовыми файлами, Я не могу отсортировать после выборки.