자바스크립트에 이런 함수가 있었네요. 정보
자바스크립트에 이런 함수가 있었네요.본문
알림기능이있고 1초간 100번의 알림이 순간적으로 발생했을때 100번의 알림을 순차적으로 알려왔는데
디비운싱 이라는 함수를 사용하면
100번발생시 지정한 시간안에 발생한 이벤트의 마지막 이벤트만 실행시키는 아주 싱통방통한 함수네요.
이거때문에 각각의 호출을 저장해서비교해야하나 엄청고민했는데 한방에 해결하고 기분이너무 좋아서 글까지 쓰네요 ㅎㅎ
function debounce(func, wait, immediate) {
var timeout;
return function() {
var context = this, args = arguments;
clearTimeout(timeout);
timeout = setTimeout(function() {
timeout = null;
if (!immediate) func.apply(context, args);
}, wait);
if (immediate && !timeout) func.apply(context, args);
};
}
var voice = debounce(function(str) {
//실행할 명령
}, 4000);
추천
3
3
댓글 6개
.
@승희아빠 ^^
쉽게 해결하게 되었다니 다행이네요.
제가 조금이라도 알면 더 기뻐해 드릴텐데 ㅋ
제가 조금이라도 알면 더 기뻐해 드릴텐데 ㅋ
@쪼각조각 자바스크립트가 참 단점도있긴한데 강력하긴하네요 웹에션 ㅋ
https://lodash.com/docs/#debounce
저도 많이 쓰는 라이브러리 임니당.
예를 들면 검색어를 키보드 입력시마다 서버에 요청 보낼때 사용하면 요청 횟수를 조절하는 용도로 쓰이지요.
https://kr.vuejs.org/v2/guide/computed.html#%EA%B0%90%EC%8B%9C%EC%9E%90
vuejs와 결합해서 쓰는 사용예제입니당^^
저도 많이 쓰는 라이브러리 임니당.
예를 들면 검색어를 키보드 입력시마다 서버에 요청 보낼때 사용하면 요청 횟수를 조절하는 용도로 쓰이지요.
https://kr.vuejs.org/v2/guide/computed.html#%EA%B0%90%EC%8B%9C%EC%9E%90
vuejs와 결합해서 쓰는 사용예제입니당^^
@gshn 한번 정독하겠습니다 꿀팁감사해요~^^