Lodash的防抖函数无效

11

const { debounce } = require('lodash');

debounce(
   () => {
     console.log('testing..');
   },
  1000,
  { leading: true, trailing: false }
);
上述代码不起作用。 https://lodash.com/docs/4.17.4#debounce文档中所有示例都使用命名函数。 使用匿名函数与Loash debounce存在问题吗?

在这个上下文中,“不起作用”究竟是什么意思? - m90
2
实际上,denounce返回一个函数,当调用它时,将在指定的时间间隔后调用内部函数。 - binariedMe
7
意思相反的词是“不起作用”的意思。 :) - GN.
2个回答

19

是的,它不起作用,因为你没有调用它。 在分号之前添加() - 它就会起作用。


2
this should be the answer :) - Asela Wijesinghe

11
为什么变量名要用花括号括起来?
不管怎样,lodash的防抖函数是一个高阶函数,会返回一个防抖函数。因此你应该像这样使用它。
const debounce = require('lodash/debounce');
const debouncedFunction = debounce(() => {
    console.log('debounced')
}, 1000)

编辑:只想指出花括号是用于解构 require 的,这是有效的语法。这对于不像 lodash 实现 <library>/<property> 这样的库来说很好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接