我有一个表单,其中包含一个下拉列表、复选框和四个按钮。当执行任何操作时(选中/取消选中或下拉选择或单击按钮),它必须触发服务调用,并且应更新以下部分。可能存在可以立即相继执行多个 Action 的机会。如果是这种情况,则应仅在上次事件之后触发 http 调用。
如果有任何可行的想法,那就太好了。我觉得超时有助于等待用户完成所有事件(在每个事件后等待一定时间)并调用 http 服务。
最佳答案
我想这就是你所需要的:
var timeoutPromise;
var delayInMs = 2000;
$scope.$watch("your_form_scope", function(newValue, oldValue) {
$timeout.cancel(timeoutPromise); //does nothing, if timeout alrdy done
timeoutPromise = $timeout(function(){ //Set timeout
//your code
},delayInMs);
});
关于javascript - 当有更多提交按钮可用时处理多个 Angular 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38015957/