【问题标题】:debounce function in underscore下划线中的去抖动功能
【发布时间】:2018-02-09 09:58:23
【问题描述】:

我正在尝试使用 debounce 功能为我的应用程序设置自动注销。我的理解是,如果我的应用程序未使用,去抖动功能将在 30 秒后触发该功能。我试图阅读 debounce 的文档,感觉我已经做了一些确切的事情。我错过了什么吗?还是我的理解完全错误?

var logout_debounce = _.debounce(debounceHandler, 30);

function debounceHandler() { location.reload(); }

$("body").on("mousemove", logout_debounce);

【问题讨论】:

    标签: javascript underscore.js debounce


    【解决方案1】:

    时间以毫秒为单位,所以你需要做30 * 1000

    【讨论】:

    • 但它会在鼠标移动时注销。如果用户空闲,我想自动注销
    • 不确定你的意思是你的代码运行良好,观察如果你不移动鼠标 2 秒它会控制台日志“注销” - jsfiddle.net/kzj04r5j/1
    • 没有。它没有。如果我空闲,我看不到控制台在 2 秒后退出。
    • 是的,请确保您没有在检查器中过滤控制台消息(例如,仅显示错误),并且您显然在右下窗格中触发了鼠标移动
    【解决方案2】:

    如果你想让它在 30 秒后被触发,那 30 是毫秒;你必须使用30*1000 = 30000

    【讨论】:

      最近更新 更多