Estoy escribiendo un programa de prueba para el sitio web, la mayoría de las veces el sitio web da un error 504. quiero escribir un programa que pueda enviar solicitudes ajax al servidor y reemplazar la página con la respuesta del servidor html. el proceso de solicitudes es como:
actualmente estoy haciendo 20 llamadas ajax y espero a que cualquiera de ellas se complete usando Promise.any(). el problema al que me enfrento es cómo puedo administrar todos los lotes en una Promise.any () porque necesito realizar un seguimiento del lote anterior, así como si una de las llamadas del segundo lote se completó, necesito cancelar todas las llamadas del primer lote y el segundo restante llamadas por lotes. Espero que tengas mi punto de lo que quiero. aquí está el código que he hecho hasta ahora
var reqs = []; async function post_page(url, i){ var formElement = document.getElementById('form1'); var data = new URLSearchParams(new FormData(formElement)); data.append('continue', 'Continue'); let controller = new AbortController(); var req = fetch(url, { method: 'post', body: data, } ).then(response => { if (!response.ok) { return Promise.reject('not ok'); } return (response, i); }); reqs.push(controller); }; var load_page = function(url){ var promises = []; for(var i = 0 ; i < 10; i++){ promises.push(post_page(url, i)); }; Promise.any(promises).then((value, index) => { reqs.splice(index,1); $.each(reqs, function(id, req){req.abort();}) loadPageHtml(value); }) };