• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

153
Views
Llamada implícita al método then() con la palabra clave await

Cuando ejecuto este código:

 class Thenable { constructor(num) { this.num = num; } then(resolve, reject) { console.log(resolve); setTimeout(() => resolve(this.num * 4), 1000); } }; async function f() { let result = await new Thenable(1); //then() method is called automatically console.log(result); } f();

Me di cuenta de que el método then() se llama sin una llamada explícita.

Me sorprendió, porque pensé que cuando javascript cumple con la espera, automáticamente devuelve el valor resuelto dentro de la función ejecutora como en este código:

 async function f() { let promise = new Promise((resolve, reject) => { this.num = 1; console.log('this.num = ' + this.num); setTimeout(() => resolve(this.num * 4), 1000) }); let result = await promise; //just assigns resolved value inside executor function into result variable console.log(result+'!'); } f();

Dado que Promise es Thenable, las preguntas son:

-¿Cómo funciona bajo el capó en caso de que Promise se use con await?

- ¿Javascript llama entonces () al método de Promise automáticamente cuando se encuentra en espera?

- ¿O javascript distingue dos casos y procesos de manera diferente en el caso de Tenable y Promise?

almost 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error