Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

248
Views
¿Por qué prometer? Entonces no devuelvas nada, ¿hará que la promesa sea devuelta por .entonces 'resuelta'?

Aquí hay una cita sobre Promise.then() de MDN .

Valor de retorno

Una vez que se cumple o se rechaza una Promesa, la función del controlador respectivo (onFulfilled o onRejected) se llamará de forma asincrónica (programada en el bucle de subproceso actual). El comportamiento de la función del controlador sigue un conjunto específico de reglas. Si una función de controlador:

  • devuelve un valor, la promesa devuelta entonces se resuelve con el valor devuelto como su valor.
  • no devuelve nada, la promesa devuelta entonces se resuelve con un valor indefinido.
  • arroja un error, la promesa devuelta por entonces se rechaza con el error arrojado como su valor.
  • devuelve una promesa ya cumplida, la promesa devuelta entonces se cumple con el valor de esa promesa como su valor.
  • devuelve una promesa ya rechazada, la promesa devuelta entonces se rechaza con el valor de esa promesa como su valor.
  • devuelve otro objeto de promesa pendiente, la resolución/rechazo de la promesa devuelta para entonces será posterior a la resolución/rechazo de la promesa devuelta por el controlador. Además, el valor resuelto de la promesa devuelta en ese momento será el mismo que el valor resuelto de la promesa devuelta por el controlador.

Mi pregunta es ¿por qué el estado de promesa devuelto por .then está "resuelto" en lugar de "cumplido" en el segundo punto?

Parece tener un solo estado: cumplido. ¿Por qué no usar la palabra "cumplido" como el cuarto punto?

En el primer punto y el segundo punto, ambos estados de promesa regresan por .then está "resuelto".

Sobre el primer punto, en la mayoría de los casos, el estado se "cumple". Y si la devolución de llamada devuelve un theable, el estado de promesa puede ser "rechazado":

 let thenableObj = { then(thenableRes, thenableRej) { thenableRej('thenable reject') } } let p = Promise.resolve('foo') p.then(() => { return thenableObj }) // Promise{<rejecter>: 'thenable reject'}

Entonces, puedo aceptar la palabra "resuelto". Pero, en el segundo punto, no encuentro ningún ejemplo que demuestre que la palabra "resuelto" es más precisa que "cumplido".

Más específicamente, ¿puede dar algunos ejemplos para probar:

  1. el estado de la promesa devuelta por .then será rechazada cuando la devolución de llamada en .then no devuelva nada.
  2. el estado de la promesa devuelto por .then se "bloqueará" para que coincida con el estado de otra promesa cuando la devolución de llamada en .then no devuelva nada.

si ninguno funciona, ¿por qué no usamos la palabra "cumplido" como cuarto punto que "resuelto"?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!