2010-11-18 8 views
2

setInterval() (or) setTimeout() in DOMpolling in ajax의 차이점을 알고 싶습니다. 가장 큰 차이점은 무엇입니까? 둘 다 같으면 왜 두 개의 다른 이름으로 식별됩니까?setInterval과 Polling의 차이점은 무엇입니까?

AJAX에서 폴링이란 무엇입니까?

이 질문에 대한 링크 나 자원은 현재 더 감사 할 것입니다 !!!

답변

5

setInterval은 반복 타이머를 설정하고 setTimeout은 한 번만 발생하는 타이머를 설정합니다. 폴링은 알림을 기다리는 대신 반복적으로 묻는 것입니다. 때로는 폴링이 필요합니다 (예 : 통지 할 방법이없는 경우). 이는 Ajax 응용 프로그램에서 종종 발생합니다. setIntervalsetTimeout은 원하는 작업에 따라 폴링을 구현하는 데 사용할 수 있습니다.

주기적으로 서버에 요청하는 경우 setInterval 대신 setTimeout을 사용하는 것이 좋습니다. 콜백에서 요청을하고 응답을 기다린 다음 setTimeout을 사용하여 새 타이머를 설정합니다. setInterval을 사용하고 요청 대기 시간이 간격과 비슷한 경우 응답이 잘못 될 위험이 있습니다. 예를 들어, 타이머가 작동하고 요청을하면 평소보다 약간 더 오래 걸립니다. 타이머가 다시 돌아 오기 전에 새로운 요청을합니다. 이제 두 가지 요청을 기다리고 있습니다. 두 번째 작업을 수행하기 전에 첫 번째 요청이 다시 오기를 기다리는 것이 더 낫습니다.

1

폴링은 서버에 주기적으로 ping을 수행하여 준비가되었는지 확인할 때 사용합니다. 사용자가 시간을 알 수 없지만 기다릴 시간이 너무 오래 걸리는 요청을 한 경우 x 초마다 서버를 폴링하여 결과가 준비되었는지 확인할 수 있습니다.

setTimeout은 지정된 간격 인 이후에 함수를 실행합니다.

setInterval은 매번 함수를 반복적으로 실행합니다.

체크 아웃 http://www.w3schools.com/js/js_timing.asp

당신은 폴링 방식을 구현하기 위해이 두 가지 기능을 사용할 수 있습니다,하지만 그들은 확실히 폴링와 동일하지 않습니다.

관련 문제