如何在for循环,js中处理异步$ http?

时间:2020-07-01 20:55:33

标签: javascript angularjs angular-promise

我有一个非常简单的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>

0 个答案:

没有答案