Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

107
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!