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

216
Views
Javascript: establecer el tiempo de espera: borrar el tiempo de espera

Escribí una función genérica de espera que tomaría la devolución de llamada y un tiempo de espera y esperaría. Desde mi comprensión y observación, mi código esperaría todo el tiempo y luego informaría el estado. Quiero borrar el tiempo de espera una vez que se alcanza la resolución. ¿Cómo puedo hacer eso?

 var _timer; function waitForGeneric(method, max) { var start = Date.now(); return new Promise((resolve, reject) => { method(); function check() { result = _connected; if (result) { console.log('connected to server[connection status]: ' + result); window.clearTimeout(_timer); resolve(); } else { if (Date.now() - start > max) { console.log('waited for 30 seconds for connection[connection status]: ' + result); reject(); } else { timer = window.setTimeout(check, 1000); } } } check(); }); }

¿Es esto correcto?

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

0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

No podré responder más a esto hasta mañana, y no necesariamente tengo las herramientas para probar lo que estás tratando de hacer para asegurarme de que esto es lo que buscas... pero si quieres ejecutar una función después de resolver una promesa, puede adjuntar el método .then() a la instancia de la promesa. Además, podría estar equivocado para su caso específico, pero normalmente no veo window.clearTimeout o window.setTimeout , sino que solo tienen sus llamadas de función respectivas como clearTimeout y setTimeout .

 var _timer; function waitForGeneric(method, max) { var start = Date.now(); return new Promise((resolve, reject) => { method(); function check() { result = _connected; if (result) { console.log('connected to server[connection status]: ' + result); clearTimeout(_timer); resolve(); } else { if (Date.now() - start > max) { console.log('waited for 30 seconds for connection[connection status]: ' + result); reject(); } else { timer = setTimeout(check, 1000); } } } check(); }).then(function() { clearTimeout(_timer); }); }

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!