我正在使用angularjs $ http.get()请求。在页面加载时我正在做两次休息api调用.api正在正确执行。我有一个按钮,它使用来自两个其余api调用的数据.I'面对一个问题,我的函数在$ http.get()响应之前执行,我无法获得所需的结果。如何在两个$ http.get的响应后执行我的函数( )请求。任何人都可以帮忙。我现在卡住了
var responsePromise5 = $http.get("1st rest call");
responsePromise5.success(function(data1) {
$scope.id = data1.platform.user.id;
var responsePromise = $http.get("2nd rest call");
responsePromise.success(function(data2)
{
console.log(data2.platform.record);
$scope.records= data2.platform.record;
});
responsePromise.error(function(data2, status, headers, config) {
alert("AJAX failed!");
});
});
responsePromise5.error(function(data1, status, headers, config) {
alert("AJAX failed!");
});
$scope.hello = function(a,b)
{
//here i want to call another rest api
}
<div ng-repeat="record in records">
{{record.name}}
<button ng-init=hello(record.unin,id)>abc</button>
</div>
答案 0 :(得分:0)
您可以使用$q.all()
-
将多个promises组合成一个promise,当所有输入promise都被解析时解析。
答案 1 :(得分:0)
在then
内获取http请求的响应后,拨打您要拨打的任何代码,如下所示
$http.get('first http request').then(function(res){
$http.get('second http request').then(function(res2){
// your code
})
})