我在文本框上有一个类似自动完成的功能。
textBox.addKeyUpHandler(textBoxLookupHandler)
发生什么了
如果用户打字相对较快,例如a
b
,似乎会发生以下情况。
a
调用处理程序。ab
调用处理程序。ab
返回更少的结果。因此,它在处理程序之前a
返回。- 然后的处理程序
a
返回许多结果。
所以最后,用户输入了ab
,但他们看到了结果,a
因为结果a
覆盖了ab
.
可能的解决方案
如果我可以编写一些客户端脚本,我知道我将如何处理这个问题。但是由于我使用的是 UiApp,所以我不能这样做。
- 保证 GAS 的执行顺序(我确信这是不可能的/是一个荒谬的要求)
- 在 GAS 中有一些方法可以取消所有其他当前正在运行的脚本。