【问题标题】:Throttle calling a function with ajax call using lodash使用 lodash 通过 ajax 调用调用函数的节流
【发布时间】:2018-05-11 08:34:38
【问题描述】:

我正在尝试限制一个包装在函数中的 ajax 调用,但它似乎没有做任何事情,它似乎只是在断点到达限制线并且没有进入 getPrice 方法时继续进行

_.throttle(getPrice, 1000);

var getPrice= function getPrice() {
  $.ajax({
    // call api
  });
};

【问题讨论】:

    标签: jquery lodash


    【解决方案1】:

    throttle() 返回一个 new 函数,该函数应用了延迟。这是您需要调用的新函数,而不是原始函数。试试这个:

    var originalGetPrice = function() {
      $.ajax({
        // call api
      });
    };
    
    var getPrice = _.throttle(originalGetPrice, 1000);
    

    请注意,您可以在逻辑中正常使用getPrice(),它会应用 1000 毫秒的延迟。

    【讨论】:

    • 我想确保 api 不会被调用超过每秒一次。油门是正确的方法吗?当我只期待一个电话时,它仍然多次调用它
    猜你喜欢
    • 1970-01-01
    • 2013-10-11
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 2012-09-30
    • 2021-10-24
    相关资源
    最近更新 更多