获得响应后致电服务-AngularJS

时间:2018-08-25 06:20:48

标签: angularjs angularjs-service

编写服务以获得初始详细信息,然后根据其响应获得完整的详细信息。 只有从初始响应中检索到电子邮件后,才能获取完整的详细信息。

(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获取基于电子邮件地址的完整详细信息。

1 个答案:

答案 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
}