AngularJS / IonicFramework防止在toggle上调用多个API
AngularJS / IonicFramework prevent multiple API calls on toggle
我读过这篇文章,正试图实现类似的功能
"如果你正在使用切换按钮,例如:打开和关闭某些东西,它击中了一个API端点,请确保将该交互包装在计时器中,这样如果用户决定多次快速连续点击控件,你就不会多次调用该端点。稍等,然后到达端点。"
我有一个带有一系列拨动开关的设置页面。而不是在每个切换项更改时执行API调用,我希望延迟将作用域的值传递给服务器的API调用。我想把它延迟X秒。然而,通过这样做
$scope.settingsChange = function () {
$timeout(function () {
//save_notifications
console.log('called');
// Trigger API call
}, 3000);
};
所发生的一切只是将呼叫延迟了3000ms。如果我切换某些东西3次,我仍然会得到控制台日志出现3次。
我完全意识到这是因为我已经实现了一个超时函数。我不确定如何实现海报中提到的功能。
如有任何建议,不胜感激。
谢谢,
注意:我的模板是这样的
<ion-toggle ng-repeat="item in settingsData"
ng-model="item.checked"
ng-checked="item.checked"
ng-change="settingsChange()">
{{ item.text }}
</ion-toggle>
一旦启动API调用,阻止任何其他调用。
$scope.settingsChange = function () {
if ($scope.processingSettingChange) return;
$scope.processingSettingChange = true;
$timeout(function () {
//save_notifications
console.log('called');
// Trigger API call
$scope.processingSettingChange = false;
}, 3000);
};
您可能还希望在API处理请求时禁用UI。您应该能够使用相同的$scope
变量和ng-disabled
相关文章:
- JQuery-重新加载Div并在点击时调用API
- 需要帮助调用API
- Froogaloop Vimeo API--Can't在就绪事件之外调用API方法
- Javascript:如何通过HTTPS和AJAX调用API
- 同步代码框 - 调用 API - 解析 JSON - 获取引用 - 保存新对象
- 为什么如果失败,我无法保留调用 api
- Cloudinary - 通过直接调用 API 上传,缺少文件
- 用户完成键入后,调整keyup事件以调用API
- 调用API中的API-jQuery/HHandlebars
- 当使用AJAX调用API时,网站在打开后重定向到index.php
- 在哪里调用API MVC模式
- 无法在JavaScript中调用api(跨源)
- Ajax没有在framework7的构建版本中调用API
- 如何使用node.js调用API,并在主体中包含JSON字符串
- 从CouchDB设计文档调用API
- 在路由器上点击时调用API
- 美元.试图调用API时出现错误
- AngularJS:服务调用API并返回JSON
- 如何在成功安装Firefox插件时调用API url
- 在后台调用API key,在WebExtension中调用内容脚本