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

124
Vistas
Espere a que la búsqueda anterior termine de abortar antes de continuar

En este momento tengo un código que es básicamente:

 var loadingIndicator = /* Reference to UI component */, output = /* Reference to UI component */, abortController; function onThingRequested(thing) { abortController?.abort(); requestThing(thing); } async function requestThing(thing) { abortController = new AbortController(); output.innerText = ''; loadingIndicator.show(); try { console.log(`STARTING ${thing}`); // For the sake of brevity of the example, assume `thing` is safe to put here. var thingRes = await fetch(`/example?thing=${thing}`, { signal: abortController.signal }); output.innerText = await thingRes.text(); } catch (err) { console.log(`ERRORED ${thing}`); output.innerText = err; } finally { console.log(`FINALLY'D ${thing}`); loadingIndicator.hide(); } }

Si onThingRequested('thing1') y luego, antes de que se cargue, active onThingRequested('thing2') , el resultado es, por supuesto...

 STARTED thing1 STARTED thing2 ERRORED thing1 FINALLY'D thing1 FINALLY'D thing2

... porque requestThing activa la nueva recuperación de inmediato, mientras que la cancelación ocurre de forma asíncrona. ¿Hay alguna manera elegante de esperar a que la búsqueda anterior termine de abortar antes de continuar? Además, por supuesto, de la solución alternativa de...

 function onThingRequested(thing) { abortController?.abort(); setTimeout(() => requestThing(thing), 1); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar el evento de cancelación para verificar si la solicitud de recuperación se requestThing .

 function onThingRequested(thing) { if (!abortController) { requestThing(thing); return; } abortController.signal.onabort = () => { requestThing(thing); }; abortController.abort(); }
about 4 years ago · Juan Pablo Isaza Denunciar
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