2010-11-18 13 views
2

Ich möchte den Unterschied zwischen setInterval() (or) setTimeout() in DOM und polling in ajax kennen. Was ist der Hauptunterschied? Wenn beide gleich sind, warum wird das durch zwei verschiedene Namen identifiziert?Unterschied zwischen setInterval & Polling?

Was bedeutet Umfrage in AJAX?

Alle Links oder Ressourcen zu dieser Frage wären im Moment wertvoller !!!

Antwort

5

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.

1

Polling ist, wenn Sie regelmäßig den Server anpingen, um zu sehen, ob etwas bereit ist. Ein Benutzer hat möglicherweise eine Anfrage gestellt, die eine unbestimmte Zeit in Anspruch nimmt, aber zu lange dauert, um den Server alle x Sekunden abzufragen, um festzustellen, ob das Ergebnis bereit ist.

setTimeout führt eine Funktion nach das angegebene Intervall aus.

setInterval führt jedes Mal wiederholt eine Funktion aus.

Check-out http://www.w3schools.com/js/js_timing.asp

können Sie diese beiden Funktionen verwenden, um ein Abfrageschema zu implementieren, aber sie sind definitiv nicht das gleiche wie Polling.