Javascript $scope数组未按角度更新

Javascript $scope数组未按角度更新,javascript,angularjs,web,angularjs-scope,Javascript,Angularjs,Web,Angularjs Scope,我有一个定义为$scope变量$scope.moviesList的电影数组。我已将数组中每个对象的所有imageSrc字段初始化为“”(空字符串),并希望使用以下函数更新每个对象的此字段(API键已被清除): //loadMoviePosters为moviesList数组中的每部电影调用电影API //并将imageSrc字段设置为返回的海报链接 $scope.loadMoviePosters=函数(){ 对于(变量i=0;i

我有一个定义为$scope变量$scope.moviesList的电影数组。我已将数组中每个对象的所有imageSrc字段初始化为“”(空字符串),并希望使用以下函数更新每个对象的此字段(API键已被清除):

//loadMoviePosters为moviesList数组中的每部电影调用电影API
//并将imageSrc字段设置为返回的海报链接
$scope.loadMoviePosters=函数(){
对于(变量i=0;i<$scope.moviesList.length;i++){
var movie=$scope.moviesList[i];
$http({
方法:“GET”,
url:“https://www.omdbapi.com/?t=“+movie.title+”&apikey=XXXXXXX”
}).然后(功能成功(响应){
如果(response.data.Poster!=“不适用”){
movie.imageSrc=response.data.Poster;
}
否则{
movie.imageSrc='';
}
$scope.moviesList[i]=电影;
//警报($scope.moviesList[i].imageSrc);
},
函数错误(response){
//无所事事
})
}
警报($scope.moviesList[0].imageSrc);
}
当我取消注释for循环内部的警报时,它会显示数组中每个对象的图像链接,但是for循环外部的警报始终显示空字符串。看起来$scope.moviesList数组实际上没有在此函数中更新

在我的HTML中,我有以下代码,在该函数更新$scope数组后,我希望为每部电影显示海报:

<div ng-repeat = "movie in moviesList">
                <img ng-src = "{{movie.imageSrc}}" />
                <p>{{movie.title}}</p>
</div>

{{movie.title}


有人知道如何让loadMoviePosters函数实际更新$scope.moviesList数组吗?那么我怎样才能让这些图像在ng repeat中显示出来呢?谢谢

因为它是异步的。http请求到达该警报时尚未完成。谢谢,这很有意义。在所有异步调用完成后,如何让ng repeat div中的映像引用更新的数组?Angular的更改检测应该在检测到moviesList已更改时自动重建视图。这是我假设的,但它没有发生
<div ng-repeat = "movie in moviesList">
                <img ng-src = "{{movie.imageSrc}}" />
                <p>{{movie.title}}</p>
</div>