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

235
Vistas
¿Cómo podemos almacenar los valores resueltos por una promesa de JavaScript?

Actualmente estoy aprendiendo JavaScript asíncrono, y estoy confundido acerca de cómo obtener los valores devueltos por una promesa de mi código:

 let p = Promise.resolve("Passed") let x = p.then(msg=>msg).catch(msg=>msg) setTimeout(()=>console.log(x), 2) console.log(x)

Producción:

 Promise { <pending> } Promise { 'Passed' }

¿Cómo puedo obtener la cadena "Aprobada" que devuelve la función .then y por qué la promesa está pendiente incluso cuando se resuelve la Promesa? Pero cuando console.log . registramos su valor usando una función setTimeout , se da su valor y cómo obtener el "Passed" de Promise { 'Passed' }

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Está destinado a usar promesas de esta manera:

 p.then((x) => { console.log(x); });

o de esta manera (solo funciona en funciones asíncronas):

 x = await p;

Normalmente, p sería en realidad una función que devuelve una promesa, como esta:

 function p() { return new Promise((resolve, reject) => { resolve("message"); }); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

No puede obtener una respuesta de la promesa en este momento. Para resolverlo, puede usar 2 enfoques:

suscríbase dentro de entonces con una nueva función que obtiene el resultado de la promesa // pero sería asincrónicamente así

 var p = Promise.resolve([1,2,3]); p.then(function(v) { console.log(v[0]); // 1 });

el segundo es: usar la función asíncrona con la estructura de espera

 async function f() { let promise = new Promise((resolve, reject) => { setTimeout(() => resolve("done!"), 1000) }); let result = await promise; // in this part it will be wait until promise will end its work alert(result); // "done!" } f();
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