AquaMen, даже если бы это работало - так делать не надо, timeout ничего не гарантирует(по точности времени) и через десяток запросов пойдёт полный расколбас, не говоря уже о занимаемой памяти на ожидание запуска всех этих запросов сразу.
На современном js этот код можно написать весьма наглядно и по-порядку:
function request(url, i) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.withCredentials = true;
// Добавляем заголовки
xhr.setRequestHeader('authority', 'www.example.com');
xhr.setRequestHeader('method', 'POST');
xhr.setRequestHeader('path', `/create/${i}/`);
xhr.setRequestHeader('scheme', 'https');
xhr.setRequestHeader('accept', '*/*');
xhr.setRequestHeader('accept-language', 'en-US,en;q=0.9');
xhr.setRequestHeader('dpr', '1');
xhr.setRequestHeader('viewport-width', '814');
xhr.setRequestHeader('x-asbd-id', '129477');
xhr.setRequestHeader('x-csrftoken', 'token');
xhr.setRequestHeader('x-ig-app-id', 'id');
xhr.setRequestHeader('x-ig-www-claim', 'wwwclaim');
xhr.setRequestHeader('x-________-ajax', 'id');
xhr.setRequestHeader('x-kl-ajax-request', 'Ajax_Request');
xhr.setRequestHeader('x-requested-with', 'XMLHttpRequest');
xhr.onload = function () {
if (xhr.status === 200) {
const contentType = xhr.getResponseHeader('content-type');
if (contentType && contentType.includes('application/json')) {
const data = JSON.parse(xhr.responseText);
console.log(`Открыт URL ${url}:`, data);
resolve(data);
} else {
reject(new Error('Некорректный формат ответа'));
}
} else {
reject(new Error('Ошибка выполнения запроса'));
}
};
xhr.onerror = reject;
const params = new URLSearchParams();
params.append('container_module', 'single_post');
xhr.send(params);
});
}
function delay(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
async function openURLs() {
for (let i = 10045; i <= 10100; i++) {
try {
const url = `https://www.example.com/create/${i}/`;
await delay(1000);
const data = await request(url, i);
// Дальнейшая обработка данных
} catch (error) {
console.error(`Ошибка выполнения запроса для URL ${url}:`, error);
// Обработка ошибок
}
}
}
openURLs();
P.S. try catch у тебя толком ничего не ловят, т.к. все ошибки кидаются в отдельных функциях которе вызывается асинхронно в не рамок блока текущего кода.