有没有办法检查去抖功能是否有待处理?
通过使用源分析,我发现只有两种方法:flush
和cancel
。
答案 0 :(得分:0)
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!
方法。 pending
和debounce
都应该有这样的方法。 Sources for debounce
但我无法按照描述使用它! :P
现在,我们手动管理这种状态,只是在某处附近的一些布尔标志。