Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

118
Vistas
enviar múltiples solicitudes de publicación de ajax a intervalos regulares hasta que cualquiera de ellas pase

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:

  1. envíe 20 solicitudes a la vez si alguna de ellas obtuvo 200 respuestas y luego cancele todas las demás solicitudes
  2. repita el paso 1 después de 10 segundos hasta que cualquier solicitud obtenga una respuesta válida.

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); }) };
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda