我如何在for循环中使用$interval
how can i use $interval in for loop
嗨,我想在 for 循环中 运行 $interval
我做了什么
- 我实现了下面的自动刷新代码
- 我正在] 检查数据数组与状态排队对象
- 然后我调用刷新实例(这是一个 ajax 调用来获取
实例的状态)
- 但假设如果有多个实例作为
状态然后用最后一个刷新实例
我想要什么
我想刷新所有的 isntnaces
例如:
data=[{id:1,status:'queued'},{id:2,status:'active'},{id:3,status:'queued'},{id:4,status:'active'},{id:5,status:'queued'}];
然后 id:5 实例只是令人耳目一新,但我想要所有实例,如 1,3,5
for (var i = 0; i < data.length; i++)
{
if(data[i].status =='queued')
{
var id = data[i].id;
promiseObj[id] = $interval( function(){ $scope.refreshInstance('active',id); }, 20000);
}
}
这里的问题是 closure inside a loop.
的使用
但在这种情况下,您可以使用更简单的 forEach() 循环来修复它
angular.forEach(data, function (item, idx) {
if (item.status == 'queued') {
promiseObj[item.id] = $interval(function () {
$scope.refreshInstance('active', item.id);
}, 20000);
}
});
嗨,我想在 for 循环中 运行 $interval
我做了什么
- 我实现了下面的自动刷新代码
- 我正在] 检查数据数组与状态排队对象
- 然后我调用刷新实例(这是一个 ajax 调用来获取 实例的状态)
- 但假设如果有多个实例作为 状态然后用最后一个刷新实例
我想要什么 我想刷新所有的 isntnaces
例如:
data=[{id:1,status:'queued'},{id:2,status:'active'},{id:3,status:'queued'},{id:4,status:'active'},{id:5,status:'queued'}];
然后 id:5 实例只是令人耳目一新,但我想要所有实例,如 1,3,5
for (var i = 0; i < data.length; i++)
{
if(data[i].status =='queued')
{
var id = data[i].id;
promiseObj[id] = $interval( function(){ $scope.refreshInstance('active',id); }, 20000);
}
}
这里的问题是 closure inside a loop.
的使用但在这种情况下,您可以使用更简单的 forEach() 循环来修复它
angular.forEach(data, function (item, idx) {
if (item.status == 'queued') {
promiseObj[item.id] = $interval(function () {
$scope.refreshInstance('active', item.id);
}, 20000);
}
});