首页 > 解决方案 > 用户选择后的 API 调用

问题描述

嗯,目前正在开发一个旧的 Angular js 应用程序。

这有一系列复选框,用户可以在其中选择一个选项/多个选项。对于每个选择,它都会进行后端 api 调用。但我想避免为每个选择进行后端调用,但允许用户进行几秒钟的选择,然后立即进行后端调用。我尝试通过 $timeout 函数来实现它,即使它等待几秒钟直到用户进行选择,但它确实在我选择/取消选择选项的次数内调用后端 API。

plunker :样本 plunker

非常感谢有人可以建议我一个解决方案。

谢谢

标签: angularjscheckboxselection

解决方案


我认为您正在寻找的是去抖功能。给定一个毫秒的延迟,调用 debounce 函数将启动一个定时器,并在定时器达到 0 后执行。如果我们再次调用相同的函数,在定时器达到 0 之前,定时器重新启动。

如果用户经常单击复选框,这将防止后端收到 API 调用的垃圾邮件。

有关去抖动的更多信息,请查看此链接(其中还解释了油门):https ://codeburst.io/throttling-and-debouncing-in-javascript-b01cad5c8edf


推荐阅读