Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

238
Visualizações
¿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
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda