Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript lodash.debounce get previous函数';s调用参数_Javascript_Lodash - Fatal编程技术网

Javascript lodash.debounce get previous函数';s调用参数

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-

当多次调用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-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);
})