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

433
Views
¿Alguien puede explicar por qué la Promesa regresa pendiente en la primera función, pero resuelta en las otras dos?

¿Alguien puede explicar por qué la Promesa regresa pendiente en la primera función, pero resuelta en las otras dos? Cuando leo MDN, dice que solo usar la palabra asíncrono no hará que el código interno sea asíncrono (también debemos usar la palabra esperar). Además, devuelvo la promesa explícitamente, ya que uso resolve() (que debería devolver la promesa cumplida como en otras dos funciones, pero devuelve Pendiente en la primera función). Proporcioné el código a continuación.

 const testFunc = async() => { return new Promise((resolve,reject)=> { resolve() }) } const testFunc2 = () => { return new Promise((resolve,reject)=> { resolve() }) } const testFunc3 = () => { return new Promise((resolve,reject)=> { resolve() }) } testFunc().then(()=> console.log("Hello")).then(()=> console.log("there")).then(()=> console.log("Obi One")) testFunc2().then(()=> console.log(1)).then(()=> console.log(2)).then(()=> console.log(3)) testFunc3().then(()=> console.log(4)).then(()=> console.log(5)).then(()=> console.log(6)) console.log(testFunc()) console.log(testFunc2()) console.log(testFunc3()) // Results in the console: // Promise {<pending>} // Promise {<fulfilled>: undefined} // Promise {<fulfilled>: undefined} // 1 // 4 // 2 // 5 // Hello // 3 // 6 // there

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Eso es porque testFunc (la función con la palabra clave asíncrona) es un evento igual a esto:

 const testFunc = () => { return new Promise((resolve,reject)=> { resolve(new Promise((r) => { r() })) }) }

y no

 const testFunc = () => { return new Promise((resolve,reject)=> { resolve() }) }
about 4 years ago · Juan Pablo Isaza Report

0

El uso de colas asíncronas pone al ejecutor como una microtarea.

Lea sobre esto aquí: https://whistlr.info/2021/async-and-tasks/

El punto clave:

Cuando escribe una función asíncrona, obliga a la persona que llama a usar una microtarea para leer su resultado. Este es el caso incluso si no espera dentro de él; devolverá una Promesa independientemente

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!