请问我在service定义有两个异步请求,其中第二个中嵌套了第一个:
self.getPosionCode = function (params) {
var d = $q.defer();
$http({
url: 'http://10.102.12.120:30001/background-manage/porder/searchPOIsByLocation?location=' + params.data.location.lng + ',' + params.data.location.lat,
method: 'GET'
}).then(function (res) {
d.resolve(res.data)
},function (err) {
d.reject(err);
console.log(err)
})
};
self.getPosionLan = function (params) {
var d = $q.defer();
$http({
url: 'http://10.102.12.120:30001/background-manage/geocoding/address',
method: 'POST',
data:params
}).then(function (res) {
d.resolve(res.data);
self.getPosionCode(res.data);
},function (err) {
d.reject(err)
});
return d.promise;
}
,那么我在controller里这样获取:
self.getPositon = function (data) {
orderMsgServeice.getPosionLan(data).then(function (res) {
console.log(res.data)
/*$scope.position = res.data.[0];*/
});
};
获取的却是第一次请求返回的数据,那么我该如何获得第二次请求返回的数据,也就是最终的数据呢?