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

165
Views
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 answers
Answer question

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 Report

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 Report
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!