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

138
Views
¿Método Javascript para alertar al usuario cuando un método está tardando más de lo esperado?

Tengo algunas emisiones de socket.io que me gustaría gestionar cuando tardan demasiado en volver del servidor con su promesa. Pero tampoco quiero dejarlos completamente fuera de tiempo. He visto esto en algunos sitios web donde una rueda giratoria de carga agregará el texto "Parece que está tardando más de lo habitual" después de 10 o más segundos.

¿Cómo puedo agregar un método de estilo de tiempo de espera a una función de Javascript que hará algo después de una cierta cantidad de tiempo, pero NO cancelará el método original?

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

0

A menos que tenga un alcance global, deberá pasar dos controladores

Algo como esto (he generalizado el flujo porque no ha proporcionado suficiente información sobre su configuración existente, así que espero que tenga sentido)

 function doSocketRequest(normalHandler, tooLongHandler) { let timer = null; // set timeout to 5 seconds, if we hit it then trigger "tooLongHandler" timer = setTimeout(tooLongHandler, 5000); // When we receive our socket response for the event, clear the time and trigger "normalHandler" socket.on('some_event_response', (response) => { clearTimeout(timer); normalHandler(response) }); // Emit to server socket.emit('some_event', ...etcetc); }
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!