angularjs - 得到响应后调用服务 - AngularJS
问题描述
编写服务以获取初始详细信息,然后根据其响应获取完整详细信息。只有在从初始响应中检索到电子邮件后,才能获取完整的详细信息。
(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 获取基于电子邮件地址的完整详细信息。
解决方案
我认为您应该尝试使用.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
}
推荐阅读
- c# - 如何在 C# 中将永久数据添加到 GridView
- python - 通过`firebase`和`gcloud`启动firestore模拟器的区别?
- docker - 访问docker容器内的私有IP
- python - MacOS 更新搞砸了我的 Jupiter 安装
- google-cloud-firestore - Firebase 安全规则 - 比较参数的字符串
- typescript - 泛型参数上的类型扩展失去类型安全性
- c++ - 通过 import C++ 查找模块名称
- sql - 如何在 SQL Server 中以 5 分钟的间隔对日期时间进行分区?
- javascript - 限制拖放到路径对象 (D3.js)
- javascript - 验证。v-img 组件不显示