티스토리 뷰

Javascript

Debouncing vs. Throttling

cs09g 2019. 11. 11. 15:05
반응형

요약

Debouncing:

  마지막 이벤트 발생으로부터 지정한 interval 이후에 핸들러 실행. interval 이전에 이벤트 발생 시, interval 초기화.

  interval 동안 이벤트가 발생하지 않으면 마지막 이벤트가 발생했다고 보고 핸들러를 실행할 수 있다.

Throttling:

  이벤트가 발생하면 핸들러를 실행하고 interval 동안 다음 이벤트에 대한 핸들러 실행을 방지한다.

  이벤트가 계속 발생한다고 가정했을 때 interval 간격으로 핸들러를 실행할 수 있다.

 

 

갑자기 드는 생각:

자동문 센서가 debouncing 일것 같다(경험상 throttling 방식인 곳도 있는것 같기도하다). 사람이 지나갈 땐 문이 항상 열려있고, 마지막 사람이 지나가고 일정 시간이 지나면 닫힌다.

회사 건물에 있는 엘리베이터의 열기/닫기 버튼이 throttling 방식인 것 같다. 동일 버튼을 아무리 버튼 연타해도 불빛만 들어오지 일정 시간동안 원하는 동작을 하지 않는다.

 

반응형
댓글