【发布时间】:2016-08-31 05:59:19
【问题描述】:
我有一个用户服务。我想创建一个利用我建立的另一个服务的方法。此服务有两种方法。 getUser() 和 getCurrentUser()。 getCurrentUser() 使用获取 UID 的注入服务。它使用返回的 UID 来运行 getUser() 方法。我的问题是我无法让getCurrentUser() 返回第二层承诺。
这个问题有点难以解释。这是代码...
svs.service("usersService", function($rootScope, $http, loginService, alertBoxService) {
var self = this;
self.getUser = function(identifier, column) {
if (typeof(column) === 'undefined') column = "uid";
return $http.get($rootScope.api + "/getUser/" + identifier + "/" + column);
}
self.getCurrentUser = function() {
var currentUserPromise;
loginService.getCurrentUid().then(
function(response) {
if (response.data === "false") {
alertBoxService.trigger($rootScope.unexpectedApiResponse);
} else {
console.log(self.getUser(response.data));
currentUserPromise = self.getUser(response.data);
}
}, function(response) {
alertBoxService.trigger($rootScope.asyncFailed);
}
);
return currentUserPromise;
}
});
【问题讨论】:
-
Yes, of course。但你根本不需要那个变量!
标签: javascript angularjs nested promise resolve