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

437
Vistas
¿Alguien puede explicar por qué la Promesa regresa pendiente en la primera función, pero resuelta en las otras dos?

¿Alguien puede explicar por qué la Promesa regresa pendiente en la primera función, pero resuelta en las otras dos? Cuando leo MDN, dice que solo usar la palabra asíncrono no hará que el código interno sea asíncrono (también debemos usar la palabra esperar). Además, devuelvo la promesa explícitamente, ya que uso resolve() (que debería devolver la promesa cumplida como en otras dos funciones, pero devuelve Pendiente en la primera función). Proporcioné el código a continuación.

 const testFunc = async() => { return new Promise((resolve,reject)=> { resolve() }) } const testFunc2 = () => { return new Promise((resolve,reject)=> { resolve() }) } const testFunc3 = () => { return new Promise((resolve,reject)=> { resolve() }) } testFunc().then(()=> console.log("Hello")).then(()=> console.log("there")).then(()=> console.log("Obi One")) testFunc2().then(()=> console.log(1)).then(()=> console.log(2)).then(()=> console.log(3)) testFunc3().then(()=> console.log(4)).then(()=> console.log(5)).then(()=> console.log(6)) console.log(testFunc()) console.log(testFunc2()) console.log(testFunc3()) // Results in the console: // Promise {<pending>} // Promise {<fulfilled>: undefined} // Promise {<fulfilled>: undefined} // 1 // 4 // 2 // 5 // Hello // 3 // 6 // there

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

0

Eso es porque testFunc (la función con la palabra clave asíncrona) es un evento igual a esto:

 const testFunc = () => { return new Promise((resolve,reject)=> { resolve(new Promise((r) => { r() })) }) }

y no

 const testFunc = () => { return new Promise((resolve,reject)=> { resolve() }) }
about 4 years ago · Juan Pablo Isaza Denunciar

0

El uso de colas asíncronas pone al ejecutor como una microtarea.

Lea sobre esto aquí: https://whistlr.info/2021/async-and-tasks/

El punto clave:

Cuando escribe una función asíncrona, obliga a la persona que llama a usar una microtarea para leer su resultado. Este es el caso incluso si no espera dentro de él; devolverá una Promesa independientemente

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