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

Que*_*low 5 javascript lodash

有什么方法可以检查去抖功能是否正在等待处理?

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

ama*_*kkg 4

更新1

debouncepending方法只能在master的分支上访问lodash。其他分支(每个包都有自己的分支 - esforlodash-es等)没有这个版本的debounce,所以看起来这个功能还没有发布。示例 - npm 分支

我尝试使用精确的此修订版本,并且pending方法按预期工作。这是我的packages.json

{
  "dependencies": {
    "lodash": "git://github.com/lodash/lodash.git#51c562256bc2a021eee05699444ce5a4db2df698"
  }
}
Run Code Online (Sandbox Code Playgroud)

index.js

const fn = debounce(() => console.log('BOOM!'), 1000)
fn()
console.log(fn.pending())
Run Code Online (Sandbox Code Playgroud)

的输出>node ./index.js是:

true
BOOM!
Run Code Online (Sandbox Code Playgroud)

第二行是去抖函数的实际日志,在超时后出现。需要注意的一件事 - 源代码位于 ES 模块中,因此您必须转译它们,或 mjs-ify,或重写为 require 的。

初步答复

有一个pending方法可以做到这一点。两者debouncethrottle应该有这样的方法。去抖动的来源

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

目前,我们正在手动管理这种状态,只是周围有一些布尔标志。