Ajax Heartbeat usando setInterval, previniendo llamadas múltiples al mismo tiempo

Deseo hacer una llamada AJAX usando jQuery como un "latido" en segundo plano para que mi aplicación web pueda verificar nuevos datos. Por ejemplo cada 10 segundos.

He visto en otras publicaciones que es posible usarsetInterval() para llamar a un método que hace la llamada cada X número de milisegundos.

Sin embargo, ¿qué sucede si mi llamada AJAX tarda más de 10 segundos? Todavía quiero que complete la última solicitud y no quiero que se instale otra llamada cuando ya hay una en curso. ¡Esto podría resultar en que la misma información se coloque en la página dos veces!

¿Cuál es la forma de implementar esto para que mi método espere a que se complete la llamada AJAX original, en lugar de simplemente "cada 10 segundos", cuando la llamada original aún no está completa?

Respuestas a la pregunta(3)

Su respuesta a la pregunta