setInterval
legt einen sich wiederholenden Timer fest, setTimeout
legt einen Timer fest, der nur einmal ausgelöst wird. Polling ist, wenn Sie wiederholt nach etwas fragen, anstatt darauf zu warten, benachrichtigt zu werden. Manchmal ist das Polling notwendig, zum Beispiel, wenn es keine Möglichkeit gibt, benachrichtigt zu werden - und das ist oft bei Ajax-Anwendungen der Fall. Sowohl setInterval
als auch setTimeout
können verwendet werden, um das Abrufen zu implementieren, je nachdem, was Sie tun möchten.
Wenn Sie regelmäßig eine Anfrage an einen Server richten, ist es ratsam, setTimeout
anstelle von setInterval
zu verwenden. Im Rückruf führen Sie die Anfrage durch, warten auf die Antwort und setzen dann einen neuen Timer mit setTimeout
. Wenn Sie setInterval
verwenden und die Anforderungslatenz mit dem Intervall vergleichbar ist, riskieren Sie, dass die Antworten nicht ordnungsgemäß ausgeführt werden. Wenn beispielsweise der Timer ausgelöst wird und Sie eine Anforderung stellen, dauert es etwas länger als gewöhnlich. Bevor Sie den Timer erneut aktivieren, wird der Timer erneut ausgelöst, sodass Sie eine neue Anforderung stellen. Jetzt warten Sie auf zwei Anfragen. Es wäre besser gewesen, auf die erste Bitte zu warten, bevor wir die zweite machen.