gpt4 book ai didi

javascript - AngularJS/IonicFramework 阻止切换时的多个 API 调用

转载 作者:行者123 更新时间:2023-12-03 09:15:51 25 4
gpt4 key购买 nike

我已阅读本文并正在尝试实现类似的功能

“如果您使用切换按钮,例如:打开和关闭某项并且它到达 API 端点,请务必将该交互包装在计时器中,这样如果用户决定,您就不会多次调用该端点快速连续多次点击控件。稍等一下,然后点击端点。”

我有一个带有一系列切换开关的设置页面。我不想在每次切换发生变化时进行 API 调用,而是希望延迟将范围值传递到服务器的 API 调用。我想延迟X秒。但是,通过这样做

    $scope.settingsChange = function () {

$timeout(function () {
//save_notifications
console.log('called');
// Trigger API call
}, 3000);
};

所发生的一切只是将调用延迟了 3000 毫秒。如果我切换某项 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

关于javascript - AngularJS/IonicFramework 阻止切换时的多个 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31953236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com