我有一个非常简单的js例程:
$scope.tracks=[some_array]
new_tracks=[some_array]
for(var i = 0; i < new_tracks.length; i++) {
var temp_track = Object.keys(new_tracks[i])[0];
var info = new_tracks[i][temp_track];
if($scope.tracks[temp_track] === undefined) {
if (info['ok]) {
if($scope.old_track !== undefined) {
/* some calc with $scope.tracks & info */
} else {
/* some calc with $scope.tracks & info */
} // else
}); // http
} else {
/* some calc with $scope.tracks& info */
}
}
我知道,在这里我应该使用闭包,但在这里我们还有一个异步$ http(我使用angularjs)。
在此循环之后,$ scope.tracks数据混合了..我不知道为什么,我认为这是因为异步$ http,对吗?
** UPD **第二个问题:为什么这里不需要关闭? (当循环内没有函数时)
<button type="button" name="deleteall" value=False onclick="window.confirm('Are you sure you want to clear all entries?')">Delete All</button>