javascript - _.debounce 没有按预期工作

标签 javascript underscore.js lodash

我想使用 lodash debounce()功能。这是最简单的例子。

var update_from = function (name) {
            console.log(name);
 };
$( document ).ready(function() {
  _.debounce(update_from, 1500)("first");
  _.debounce(update_from, 1500)('second');
  _.debounce(update_from, 1500)("third");
});

我希望只有“third”被打印到控制台中。但是这三个都被打印出来了。

我做错了什么或误解了什么?根据这个article ,这应该会像我预期的那样工作,但事实并非如此。

这里是那个例子的plunkr:http://plnkr.co/edit/OCDAChkMes97XcMLJSag?p=preview

最佳答案

您正在创建和执行三个独立的去抖动函数,而不是一个去抖动函数三次。

var myFunc = _.debounce(update_from, 1500);
myFunc('first');
myFunc('second');
myFunc('third');

关于javascript - _.debounce 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30405466/

相关文章:

php - 我们如何使用php将当前网页打印到pdf文件

javascript - 2048 : Strange behaviour of reduceRight in map with lodash/fp

javascript - 在填充对象数组中查找值 mongodb - lodash

javascript - Lodash 从 3 到 4 发生了什么变化导致这段代码不起作用?

javascript - 弹出模态文本字段

javascript - 获取数组中每个项目的 id 并附加到选项值中的每个项目

javascript - 将 Backbone.js 与 _.noConflict() 一起使用

javascript - 下划线模板无法按预期工作

javascript - 如何在 Backbone/Underscore 上应用 jQuery timeago 或 easydate?

javascript - AngularJS中的超时函数