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

167
Views
¿Hay alguna manera de detener el método tardío al ejecutar Promise.race?

El siguiente código es un ejemplo simple.

 function delay(time) { return new Promise(function (resolve) { setTimeout(resolve, time); }).then((e) => { console.log(`Wait ${time}ms.`); return time; }); } async function main() { let r = await Promise.race([ delay(1000), delay(2000), ]); console.log(r); } await main();

Producción:

 Wait 1000ms. 1000 Wait 2000ms.

Quiero detener el código restante excepto el código que se ejecutó primero a través de Promise.race.

¿Hay alguna otra manera?

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

La única forma de hacer algo como esto sería poner el código que se ejecuta condicionalmente cerca de donde llamas a la Promesa.

 function delay(time) { return new Promise(function (resolve) { setTimeout(resolve, time, time); }) } async function main() { const firstResult = await Promise.race([ delay(1000), delay(2000), ]); console.log(`Wait ${firstResult}ms.`); } main();

Si el código que desea ejecutar condicionalmente está dentro de una función, como con su función de delay original, y la función no proporciona explícitamente una forma de cambiar su ejecución después de ser llamada, entonces no, no hay nada que pueda hacer para mantener ese código de ejecutar.

La mayoría de las veces, cuando se trata de Promises, no existe tal método, aunque hay excepciones, como con AbortController .

about 4 years ago · Santiago Trujillo 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!