编写服务以获得初始详细信息,然后根据其响应获得完整的详细信息。 只有从初始响应中检索到电子邮件后,才能获取完整的详细信息。
(function () {
function empService(mainSrv, empSrv) {
var self = this;
var initialDetail = mainSrv.getInitialDetails.get();
self.getInitialDetails = function () {
return initialDetail.$promise.then(function (data) {
var user = data.result;
self.fName = user.first_name;
self.lName = user.last_name;
self.email = user.email;
});
};
var completeDetail = empSrv.getCompleteDetails.get({email : **self.email**});
self.getCompleteDetails = function () {
return completeDetail.$promise.then(function (data) {
self.eDetails = data.details;
});
};
}
myServiceModule.service('empService', ['mainSrv’, 'empSrv' , empService]);
})();
服务/代码已初始化,电子邮件未定义; mainSrv / mainService获取邮件详细信息,empSrv / empService获取基于电子邮件地址的完整详细信息。
答案 0 :(得分:0)
我认为您应该尝试使用.success
例如
var empService = function () {
mainSrv.getInitialDetails.get()
.success(onGetInitDetailsSuccess())
.error(onGetInitDetailsError())
}
$scope.onGetInitDetailsSuccess() = function (result) {
empSrv.getCompleteDetails.get(result)
}
$scope.onGetInitDetailsError() = function (result) {
//handle your exception here
}