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

234
Vistas
¿Qué pasa si no esperamos una función javascript asíncrona?

¿Qué pasa si no esperamos una función javascript asíncrona?

¡Hasta donde sé, algunos lenguajes como C # no deberían ejecutar una función asíncrona sin administrar!

Quería saber si esto también es cierto para el lenguaje JavaScript.

 var asynchronousFunction = async function() { //... } function main() { var result = true; //... asynchronousFunction(); // The result of this function has no effect on our output (result) //... return result; }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Se ejecuta igual. (De hecho, nunca await una función, espera la Promesa que devuelve).

La función asíncrona se ejecuta de forma síncrona hasta que la primera await o return dentro de ella, momento en el que se devuelve una Promise a la persona que llama y el resto de la función se organiza para ejecutarse más tarde.

Depende de la persona que llama hacer algo (o nada) a la Promesa. Después de todo, es posible que desee almacenar la promesa en una matriz y esperar a todas ( Promise.all ) o hacer algo más esotérico al respecto, de modo que a JavaScript no le importe.

Sin embargo, algunos IDE y linters lo suficientemente inteligentes pueden generar una advertencia sobre promesas no controladas, especialmente si tiene suficiente información de tipo para hacerlo (por ejemplo, usando TypeScript).

about 4 years ago · Juan Pablo Isaza Denunciar

0

Es cierto para javascript también.

No desea simplemente crear una promesa y dejarla totalmente suspendida, si hay errores, se convierten en errores no controlados y si sale inesperadamente, entonces no tiene forma de saberlo.

Lo que recomiendo es usar Promise.race en el nivel superior y luego ejecutará todas sus funciones asíncronas en paralelo, pero se cerrará si alguna de ellas se cierra inesperadamente.

 async function worker() { while (true) { // do background work in a loop } } async function server() { await init() await listen() } function main() { const p0 = worker() const p1 = server() try { await Promise.race([p0, p1]) console.log('done') return true } catch (err) { console.log('The server had an error unexpectedly', err) return false } }

Si espera que las promesas finalmente finalicen correctamente, use Promise.all en su lugar, que esperará hasta que todas las promesas finalicen correctamente antes de resolverse.

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