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

189
Vistas
¿Qué sucede exactamente cuando llamamos .then después de que se resuelve una Promesa?

Tengo una var para mantener el objeto de la promesa y llamar a .then en diferentes lugares. Obtuve la misma marca de tiempo para diferentes .then. ¿Qué sucede cuando se llama .then a un objeto de promesa ya resuelto?

 var promise1 = new Promise((resolve) => {resolve(Date.now().toString())}) promise1.then((response) => {console.log(response)}); promise1.then((response) => {console.log(response)});
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿Qué sucede exactamente cuando llamamos .then después de que se resuelve una Promesa?

Programa (justo antes del siguiente tic del bucle de eventos) que se llame a los controladores .then() .

Entonces, el Javascript actual que se está ejecutando continuará ejecutándose y finalizando y cuando devuelva el control al bucle de eventos, los .then() que se acaban de registrar en una promesa ya resuelta llamarán a sus devoluciones de llamada en el orden en que fueron registrados. Los controladores de promesa se sirven antes que otras cosas en el bucle de eventos, por lo que en realidad no llegan al bucle de eventos hasta que no haya más devoluciones de llamada de promesa para llamar.

Por lo tanto, siempre es seguro registrar un controlador .then() . No tienes que preocuparte de si la promesa ya está resuelta o no. De cualquier manera, se llamará al controlador .then() (suponiendo que la promesa se resuelva o ya se haya resuelto).

Entonces, si modifica el registro un poco así:

 const promise1 = new Promise((resolve) => {resolve(Date.now().toString())}) promise1.then((response) => {console.log("first .then()")}); promise1.then((response) => {console.log("second .then()")}); console.log("now here");

Obtendrá esta salida:

 now here first .then() second .then()
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