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

315
Vistas
¿Cómo esperar a que se ejecute la función antes de la próxima llamada de setinterval?

Digamos que estoy llamando a una API que me da información sobre una película en particular según su id .

Tengo una función para hacer una llamada a la API:

 async function main() { const movieDetails = await getMovieInfo(movieID) } setInterval(main,1000*2)

La llamada API tarda algún tiempo en devolver los datos de la película, digamos 10 segundos (este tiempo, por supuesto, puede ser variable). Ahora, ¿cómo espero a que se llame a la API antes de la siguiente llamada a la función main ?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En lugar de setInterval, use una función recursiva con setTimeout

 const getMovieInfo = (movieID) => fetch(`https://jsonplaceholder.typicode.com/posts/${movieID}`) .then(res => res.json()) .catch(err => { console.log(err) }); const loopGetMovie = async () => { const movieDetails = await getMovieInfo(34); // Await for response... console.log(movieDetails); setTimeout(loopGetMovie, 2000); // then timeout a next recursion }; const main = () => { loopGetMovie(); // Other "main" function calls here... }; // Init: main();

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si realmente desea setInterval() , puede agregar otra condición para verificar si es hora de getMoveInfo:

 let running = false; async function main() { if (running) return; running = true; const movieDetails = await getMovieInfo(movieID) running = false; } setInterval(main, 1000*2)

Aunque estoy de acuerdo en que el setTimeout propuesto es una solución mucho mejor.

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