자바스크립트에 이런 함수가 있었네요. > 자유게시판

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

자유게시판

자바스크립트에 이런 함수가 있었네요. 정보

자바스크립트에 이런 함수가 있었네요.

본문

 

알림기능이있고 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

댓글 6개

https://lodash.com/docs/#debounce
저도 많이 쓰는 라이브러리 임니당.
예를 들면 검색어를 키보드 입력시마다 서버에 요청 보낼때 사용하면 요청 횟수를 조절하는 용도로 쓰이지요.

https://kr.vuejs.org/v2/guide/computed.html#%EA%B0%90%EC%8B%9C%EC%9E%90

vuejs와 결합해서 쓰는 사용예제입니당^^
전체 195,666 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT