angularjs - 用户选择后的 API 调用
问题描述
嗯,目前正在开发一个旧的 Angular js 应用程序。
这有一系列复选框,用户可以在其中选择一个选项/多个选项。对于每个选择,它都会进行后端 api 调用。但我想避免为每个选择进行后端调用,但允许用户进行几秒钟的选择,然后立即进行后端调用。我尝试通过 $timeout 函数来实现它,即使它等待几秒钟直到用户进行选择,但它确实在我选择/取消选择选项的次数内调用后端 API。
plunker :样本 plunker
非常感谢有人可以建议我一个解决方案。
谢谢
解决方案
我认为您正在寻找的是去抖功能。给定一个毫秒的延迟,调用 debounce 函数将启动一个定时器,并在定时器达到 0 后执行。如果我们再次调用相同的函数,在定时器达到 0 之前,定时器重新启动。
如果用户经常单击复选框,这将防止后端收到 API 调用的垃圾邮件。
有关去抖动的更多信息,请查看此链接(其中还解释了油门):https ://codeburst.io/throttling-and-debouncing-in-javascript-b01cad5c8edf
推荐阅读
- python - 是否可以访问超类的 cdef 属性?
- imagemagick - ImageMagick 错误:-对比度选项替换为 -level(嗯?)
- java-native-interface - 将 gRPC 通道从 C++ 转换为 Java
- javascript - 悬停图片,播放特定视频
- javascript - 如何使用 Puppeteer 捕获一系列 URL 的屏幕截图?
- python - python Parsing xml:从包含或类似的标签中获取文本
- excel - 自动运行宏但不在 ThisWorkbook 中
- mysql - 创造。查看sql
- php - 横幅在移动设备上显示小,在笔记本电脑上显示大
- java - 电池电量小部件不更新