在实际业务中,往往需要等待几个请求完成后再进行下一步。然而,$ HTTP不支持同步请求AngularJS。

解决方案之一:

复制代码代码如下所示:

http.get美元('url1)。成功(功能(D1){)

http.get美元('url2)。成功(功能(D2){)

处理逻辑

});

});



方案二:

然后依次执行方法。

复制代码代码如下所示:

VaR的应用= angular.module('app,{ });

App.controller('promisecontrol功能(美元美元美元范围,Q,HTTP){

函数getJSON(URL){

VaR q.defer美元递延=();

http.get美元(URL)

成功(函数(d){)

D = parseInt(D);

console.log(D);

deferred.resolve(D);

});

返回deferred.promise;

}

GetJson('json1 .txt)。然后(function()){

返回getJSON('json2 .txt);

}。然后(函数(){)

返回getJSON('json1 .txt);

}。然后(函数(){)

返回getJSON('json2 .txt);

}然后(函数(d){)

console.log();

});

});



解决方案三:

美元的q.all方法的第一个参数是一个数组(对象),然后该方法后的内容是第一个参数完成执行,第一个参数的方法的返回值是一个数组的形式传递(对象)。

复制代码代码如下所示:

VaR的应用= angular.module('app,{ });

App.controller('promisecontrol功能(美元美元美元范围,Q,HTTP){

q.all美元({第一:http.get美元('json1 .txt),第二http.get美元('json2 .txt)})。然后(功能(ARR){)

console.log(ARR);

Angular.forEach(ARR,功能(D){

console.log(D);

console.log(数据);

})

});

});



有问题:美元的详细使用网上很多教程只是联系,也说不好,不能乱讲。上面的代码是写在我的理解,和测试是没有问题的。