当有更多提交按钮时,处理多个角度调用

时间:2016-06-24 14:35:32

标签: javascript jquery angularjs

我有一个包含一个下拉菜单,复选框和四个按钮的表单。执行任何操作时(选中/取消选中或下拉选择或按钮单击),它必须触发服务调用,并且应更新以下部分。可能有可能一个接一个地立即执行多个动作。如果是这种情况,则应仅在最后一次活动后触发http调用。

如果对此有任何可行的想法会很好。我觉得超时有助于等待用户完成所有活动(等待每个活动后的特定时间)并调用http服务。

1 个答案:

答案 0 :(得分:0)

我想那就是你所需要的:

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);
});