Javascript lodash.debounce get previous函数';s调用参数
当多次调用u.debounce时,它仅适用于最后一次调用的参数Javascript lodash.debounce get previous函数';s调用参数,javascript,lodash,Javascript,Lodash,当多次调用u.debounce时,它仅适用于最后一次调用的参数 var f = _.debounce(function(a) { console.log(a); }) f(12) f(1223) f(5) f(42) //output -----> 42 是否有一种方法也可以获取上一个函数的调用参数 例: 这里有一个简单的去噪,跟踪它的论点。它不会试图模拟\的最后一个参数。debounce 函数customDebounce(函数,等待){ var args=[]; var-
var f = _.debounce(function(a) {
console.log(a);
})
f(12)
f(1223)
f(5)
f(42)
//output -----> 42
是否有一种方法也可以获取上一个函数的调用参数
例:
这里有一个简单的去噪,跟踪它的论点。它不会试图模拟
\的最后一个参数。debounce
函数customDebounce(函数,等待){
var args=[];
var-timeoutId;
返回函数(){
//用户形式参数,以确保即使参数
//没有通过
if(函数长度){
对于(变量i=0;i
我终于自己实现了这个功能,扩展了lodash:
_.mixin({
debounceArgs: function(fn, options) {
var __dbArgs = []
var __dbFn = _.debounce(function() {
fn.call(undefined, __dbArgs);
__dbArgs = []
}, options);
return function() {
__dbArgs.push(_.values(arguments));
__dbFn();
}
},
throttleArgs: function(fn, options) {
var _thArgs = []
var _thFn = _.throttle(function() {
fn.call(undefined, _thArgs);
_thArgs = []
}, options);
return function() {
_thArgs.push(_.values(arguments));
_thFn();
}
},
})
用法:
_.debounceArgs(function(a) {
console.log(a);
})
_.debounceArgs(function(a) {
console.log(a);
})