Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Angular';刷新图像时,取消新请求,而不是当前加载请求;s$超时_Javascript_Angularjs - Fatal编程技术网

Javascript 使用Angular';刷新图像时,取消新请求,而不是当前加载请求;s$超时

Javascript 使用Angular';刷新图像时,取消新请求,而不是当前加载请求;s$超时,javascript,angularjs,Javascript,Angularjs,我使用Angular的超时以用户指定的间隔刷新图像的内容。如果该间隔太小,无法加载图像(例如,1秒),则每个后续请求都会取消前一个请求,从而导致图像永远不会刷新 与此行为不同,我希望当前请求完成,后续请求取消,直到请求冲突时该请求完成。我该怎么做 处理刷新的代码: $scope.setImagePath = function() { $scope.imagePath = $scope.camera.endpoint + '?decache=' + Math.random(); }; $sc

我使用Angular的超时以用户指定的间隔刷新图像的内容。如果该间隔太小,无法加载图像(例如,1秒),则每个后续请求都会取消前一个请求,从而导致图像永远不会刷新

与此行为不同,我希望当前请求完成,后续请求取消,直到请求冲突时该请求完成。我该怎么做

处理刷新的代码:

$scope.setImagePath = function() {
  $scope.imagePath = $scope.camera.endpoint + '?decache=' + Math.random();
};
$scope.setImagePath();

$scope.refreshOnInterval = function() {
  $timeout(function() {
    $scope.setImagePath();
    $scope.refreshOnInterval();
  }, $scope.refresh);
};
$scope.refreshOnInterval();

看一看的答案。在那里演示的事件将为实施提供基础

我的建议是使用
imageonload
指令作为起点。与其发出警告,不如用图像的加载状态更新变量。然后,在
$timeout
处理程序中,检查此状态变量,如果状态仍在加载,则不要调用
setImagePath()
。您可能还需要更新
setImagePath()
中的状态变量