반응형
인수 밑줄이있는 디 바운스 함수
몇 가지 인수를받는 함수가 있습니다. 그러나 밑줄 디 바운스의 사용법은 다음과 같습니다.
var lazyLayout = _.debounce(calculateLayout, 300);
그러나 제 경우에는 calculateLayout
몇 가지 논쟁이 필요합니다. 이 경우 어떻게 통과 할 수 있습니까?
업데이트 :
샘플 calculateLayout
기능 :
var calculateLayout = function(a,b) {
console.log('a is ' + a + ' and b is ' + b);
}
익명 함수를 첫 번째 인수로 사용하고 원하는대로 호출 할 수 있어야합니다.
_.debounce(function(){
calculateLayout(20, 30);
}, 300);
중간에 익명 함수가 필요하지 않습니다 . 디 바운스 된 버전을 실행할 때 인수가 자동으로 원래 함수로 전달됩니다 .
var debounceCalculate = _.debounce(calculateLayout, 300);
debounceCalculate(a,b);
장점으로 미리 인수를 하드 코드 바인딩 할 필요가 없습니다.
시도해 볼 수 있고 궁금하다면 소스를 확인하십시오.
@Jamie의 대답이 더 좋습니다.
JS에 익숙한 경우 Jamie의 답변을 사용하는 것이 더 낫지 만 원래 답변을 아래와 같이 유지하겠습니다.
var calculateLayout = function(a,b) {
console.log('a is ' + a + ' and b is ' + b);
}
var debounceCalculate = _.debounce(function(a, b){
calculateLayout(a, b);
}, 300);
debounceCalculate(1, 2);
즉시 아무도 추가없이 하나의 라이너를 작성하지 않기 때문에 var
그리고 function
, 내가 직접 할 수 있습니다 :
_.debounce(calculateLayout, 300)(a, b);
디 바운스 함수는 다른 함수를 반환하므로 디 바운스가 실행 된 직후에 호출 할 수 있습니다.
참조 URL : https://stackoverflow.com/questions/23858046/debounce-function-with-args-underscore
반응형
'programing' 카테고리의 다른 글
왼쪽 / 오른쪽과 위 / 아래 사이의 스 와이프 방향을 감지하는 방법 (0) | 2021.01.16 |
---|---|
Spark : Spark Shell에서 Spark 파일을 실행하는 방법 (0) | 2021.01.16 |
.NET에서 이중 곱셈이 끊어 집니까? (0) | 2021.01.16 |
Python의 항목 빈도 수 (0) | 2021.01.16 |
JQuery를 사용하여 CKEditor의 콘텐츠를 어떻게 얻을 수 있습니까? (0) | 2021.01.16 |