我正在尝试创建一个类似缓冲区的对象,该对象从输入字段中收集所有击键,然后将它们一个接一个地传递给一个函数,每个函数之间设置一个定时延迟。
例如,使用 时Google Maps/Places Autocomplete Service API
,在输入字段中的每次击键都会触发自动完成的请求功能,我发现如果在很短的时间内击键太多,自动完成请求无法返回结果。因此,我想创建某种缓冲区来收集所有击键,然后一个接一个地,例如 a 200ms interval
,将它们释放到自动完成功能。
因此输入 123 Fake St 需要 700 毫秒,然后以 200 毫秒的间隔将字符串的每个字符传递给函数 - 1(200 毫秒)2(200 毫秒)3(200 毫秒)F(200 毫秒)A ... 等。
我目前对如何编写这样的东西没有可靠的想法,所以无法发布代码,但我原以为这会是类似的东西
On key press:
if( (lastRequestTime - 200) > curTime )
send input to function
然而,这显然远未完成。有人对如何实现这一目标有任何想法吗?