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

176
Visualizações
El código JavaScript no muestra el resultado en el primer intento

Cuando ejecuto el script (ver más abajo), el primer intento falla al obtener el resultado,

la variable "resultado" da como resultado "subfinado"

 var result; Promise.resolve('information') .then(res => {return result=res}) result;

Intento #1

ingrese la descripción de la imagen aquí

En el segundo intento, los valores ya están asignados

ingrese la descripción de la imagen aquí

Pregunta: ¿Cómo puedo esperar asignar un valor a la variable "resultado", sin usar setTimout y console.log

Esperando con un ciclo while

 var result; var finito = false; Promise.resolve('information') .then(res => {return result=res}) while(finito != true) { if (result != undefined) { result; finito=true; } }

Mi pregunta para Jay Surya:

Este código no funciona

ingrese la descripción de la imagen aquí


Mi pregunta para Azarro:

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

La mejor solución para esto es usar async-await, ya que parece que necesita result para otras operaciones. Si aún desea utilizar el enfoque .then(), tendrá que mover su var result y todos los pasos posteriores que necesitan result , al .then()

 Promise.resolve('information').then(res=>{ var result = res; var finito=true; //all that follows })

Pero, alternativamente, si usa async-await,

 var result; var finito = false; result = await Promise.resolve('information');//the lines below will not be executed, until this promise resolves while(finito != true) { if (result != undefined) { result; finito=true; } }

Por supuesto, await solo se puede usar dentro de una función marcada como asíncrona.

about 4 years ago · Juan Pablo Isaza Relatório

0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve

Promise.resolve devuelve una promesa. Si va acompañado de un .then , hará un seguimiento del .then() de forma asíncrona (casi inmediatamente, énfasis en casi ) y se resolverá como una Promesa.

Si desea que el resultado obtenga el valor real, tendrá que usar await para forzar al código a actuar sincrónicamente y esperar el valor de la promesa.

 async function someWrappedFunction() { const result = await Promise.resolve('information'); }

Alternativamente, puede mover su código dentro del bloque .then de Promise para que tenga garantizado un valor allí.

Editar: ¿Puedes probar lo siguiente:

 var result; var finito = false; var result = await Promise.resolve('information'); while(finito != true) { if (result != undefined) { result; finito=true; } }
about 4 years ago · Juan Pablo Isaza Relatório
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