Javascript angular:http.get的块响应

Javascript angular:http.get的块响应,javascript,angularjs,Javascript,Angularjs,我的应用程序有严重问题,我使用AngularJs。 我用“for”来修饰我的资源。对于每个ressource,我都使用$http.get获取有关此ressource的数据。 我的问题是,我的程序不等待$http.get的响应,然后$http.get()将应用于我的最后一个ressource 我首先看到我的ressource的所有警报,然后看到finish的警报(“新用户”) 谢谢你;) $scope.loadPlanning=function(){ //var tasksresource=[];

我的应用程序有严重问题,我使用AngularJs。 我用“for”来修饰我的资源。对于每个ressource,我都使用$http.get获取有关此ressource的数据。 我的问题是,我的程序不等待$http.get的响应,然后$http.get()将应用于我的最后一个ressource

我首先看到我的ressource的所有警报,然后看到finish的警报(“新用户”)

谢谢你;)

$scope.loadPlanning=function(){
//var tasksresource=[];
//任务资源推送({name:'Go liiive',color:'#93C47D',从:新日期(2013,10,23,1,0,0)到:新日期(2013,10,25,24,0,0)});
//tasksResource.push({name:'Go live',color:'#93C47D',从:新日期(2013,10,27,1,0,0)到:新日期(2013,10,29,24,0,0)});
var数据=[];
对于(变量i=0;i<$scope.resources.length;i++){
var nameR=$scope.resources[i]。firstName+'+$scope.resources[i]。lastName;
警报(姓名);
//关于访问客户协会的客户名单
//Visiteclient.getByRessource({id:$scope.resources[i].id},函数(结果){
$http.get(“api/api/visiteclientsbyressource/”+$scope.resources[i].id).成功(函数(结果){
var tasksresource=[];
$scope.visiteclietest=结果;
对于(var p=0;p<$scope.visiteclietest.length;p++){
var name=result[p].name;
var datedeb=结果[p]。日期;
var dateFin=结果[p]。日期;
tasksResource.push({name:name,color:'93C47D',from:new Date(dateDebu),to:new Date(dateFin)});
}
$scope.pushData(任务资源);
});
$scope.pushData=函数(taskr){
警报(“新用户”);
push({name:nameR,class:“custom row”,tasks:taskr});
log({name:nameR,class:“自定义行”,tasks:taskr});
}
}
}

由于AJAX调用是异步的,所以应该使用Promissions。Angular使用


下面是Angular中使用Promissions作为指令的详细说明

您的代码有几个问题,但我没有真正理解您的问题或发现严重的问题。您希望得到什么结果,以及如何检查它?
$scope.loadPlanning = function() {
        //var tasksRessource = [];
        //tasksRessource.push({name: 'Go-liiive', color: '#93C47D', from: new Date(2013, 10, 23, 1, 0, 0), to: new Date(2013, 10, 25, 24, 0, 0)});
        //tasksRessource.push({name: 'Go-live', color: '#93C47D', from: new Date(2013, 10, 27, 1, 0, 0), to: new Date(2013, 10, 29, 24, 0, 0)});
        var data = [];
        for(var i = 0; i < $scope.ressources.length; i++) {

            var nameR = $scope.ressources[i].firstName + ' ' + $scope.ressources[i].lastName;
            alert(nameR);
            // On récupère la liste des visites clients associé a cet utilisateur
            //Visiteclient.getByRessource({id: $scope.ressources[i].id}, function(result) {
            $http.get("api/api/visiteclientsbyressource/" + $scope.ressources[i].id).success(function(result) {
                var tasksRessource = [];
                $scope.visiteclietest = result;

                for (var p = 0; p < $scope.visiteclietest.length; p++) {
                    var name = result[p].name;
                    var dateDebu = result[p].date;
                    var dateFin = result[p].date;
                    tasksRessource.push({name: name, color: '#93C47D', from: new Date(dateDebu), to: new Date(dateFin)});
                }

                $scope.pushData(tasksRessource);
            });

            $scope.pushData = function(taskr) {
                alert ('new user');     
                data.push({name: nameR,classes: "custom-row", tasks : taskr}); 
                console.log({name: nameR,classes: "custom-row", tasks : taskr});
            }

        }
   }