首页 > 其他 > 详细

日常的例子说明 throttle 和 debounce 的区别

时间:2015-09-24 07:01:01      阅读:299      评论:0      收藏:0      [点我收藏+]

首先,我们明确一下这两个函数的中文含义:

throttle: 频率控制

debounce: 空闲控制

现在有一个输入框,用户正在输入一些文字,然后需要根据用户的输入向服务器发送 ajax 请求。

假使用户正在疯狂码字中 :!@#¥%……&*()——+

throttle 策略下,每隔一定时间,我们就设为 500ms 吧,即:每 500ms ,都会向服务器发送一次 ajax 请求。500ms 发一次,我们控制了函数调用的频率,这就是频率控制(throttle)。

debounce 策略下,用户疯狂码字的时候是不会发送 ajax 请求的,而一旦用户手累了,或者输入完成了,空闲了 500ms 没码字,此时我们的 ajax 请求才会发送了出去。事件一直在进行,直到空闲了 500ms 才触发我们的函数,这就是空闲控制(debounce)。

日常的例子说明 throttle 和 debounce 的区别

原文:http://www.cnblogs.com/LoadingChan/p/4834074.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!