_.debounce检查去抖是否有待处理

时间:2018-05-27 23:46:14

标签: javascript lodash

有没有办法检查去抖功能是否有待处理?

通过使用源分析,我发现只有两种方法:flushcancel

1 个答案:

答案 0 :(得分:0)

更新1

debounce pending方法只能在master的{​​{1}}分支上访问。其他分支(每个分支都有自己的分支 - lodash用于es等)没有lodash-es的此修订版,所以看起来此功能尚未发布。示例 - npm branch

我尝试使用完全相同的修订版,debounce方法按预期工作。这是我的pending

packages.json

{ "dependencies": { "lodash": "git://github.com/lodash/lodash.git#51c562256bc2a021eee05699444ce5a4db2df698" } }

index.js

const fn = debounce(() => console.log('BOOM!'), 1000) fn() console.log(fn.pending()) 的输出是:

>node ./index.js

第二行是debounced函数的实际日志,在超时后出现。有一点需要注意 - 源代码在ES模块中,所以你必须将它们转换为mjs-ify,或者重写为要求的。

初步答案

有一种true BOOM! 方法。 pendingdebounce都应该有这样的方法。 Sources for debounce

但我无法按照描述使用它! :P

现在,我们手动管理这种状态,只是在某处附近的一些布尔标志。