gpt4 book ai didi

javascript - Underscore debounce vs vanilla Javascript setTimeout

转载 作者:搜寻专家 更新时间:2023-11-01 05:04:09 25 4
gpt4 key购买 nike

我知道 Undercore.js 中的 debounce 会返回一个函数,该函数将推迟执行直到等待时间结束。

我的问题是,在 vanilla Javascript 中使用 debounce 是否优于常规 setTimeout 函数?它们的工作原理不一样吗?

最佳答案

它们非常不同,用于完全不同的情况。

  1. _.debounce 返回一个functionsetTimeout 返回一个id,你可以使用它取消超时。

  2. 无论您调用_.debounce 返回的函数多少次,它都只会在给定的时间范围内运行一次。

var log_once = _.debounce(log, 5000);

function log() {
console.log('prints');
}

log_once();
log_once();
log_once();
log_once();
log_once();

var id = setTimeout(function() {
console.log('hello');
}, 3000);
clearTimeout(id);
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>

关于javascript - Underscore debounce vs vanilla Javascript setTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36548451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com