Lodash反跳不反跳

Lodash反跳不反跳,第1张

Lodash反跳不反跳

_.debounce
创建
一个函数,以对传递给它的函数进行去抖动。您的
s.search
函数正在做的事情是
_.debounce
每次
s.search
都被再次调用。每次都会创建一个全新的功能,因此没有任何反跳现象。

因此,解决方案是删除箭头和多余的一对括号,并确保

s._makeSearchRequest
在访问之前定义了该箭头:

s._makeSearchRequest = -> console.log("making search request")s.search = _.debounce( s._makeSearchRequest, 1000 )

示例(使用Javascript):

var s;s = {};s._makeSearchRequest = function(q) {  return console.log("making search request: " + q);};s.search = _.debounce(s._makeSearchRequest, 1000);// call s.search three times in a rows.search(1);s.search(2);s.search(3);// call s.search after 500 mssetTimeout(s.search, 500, 4);// call s.search after 3 secondssetTimeout(s.search, 3000, 5);// timer to show passage of timevar i = 0;var t = setInterval(function () {    i += 1;    console.log(i + " seconds elapsed");    if (i > 5) { clearInterval(t); }}, 1000);<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/3.5.0/lodash.min.js"></script>


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5642117.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存