也许我的做法是错误的,我不确定,但我有 2 个服务,一个是用户服务,它从服务器获取有关用户的大量详细信息,另一个是依赖于某个用户的服务来自用户服务的详细信息,然后对服务器进行更多调用以获取其他信息。
无论如何,由于第二个服务进行调用时发生的异步操作,尚未填充用户服务器所需的信息。
我知道 Angular 服务可以相互依赖,但在这种情况下不会出现?
factory('User', ['$resource', function ($resource) {
return $resource(usersUrl, {}, {
//The data model is loaded via a GET request to the app
query: {method: 'GET', params: {}, isArray: false},
putupdate: {method: 'PUT', params:{}}
});
}])
.factory('UserData', function() {
var data = {}
data.userinfo = {};
if(data = {}){
}
return {
updateinfo: function(newdata) {
data.userinfo = newdata;
// alert(data.userinfo.user)
},
userinfo: data
}
})
.factory('PlansData', ['UserData', 'User', '$rootScope', function(userData, user, $rootScope) {
var data = {}
data.plansinfo = {};
//alert(userData.data.userinfo.user.email)
if(data = {}){
}
return {
updateinfo: function(newdata) {
alert(user.query())
data.plansinfo = newdata;
},
plansinfo: data
}
}])
所以我有一个用户服务和一个缓存用户数据服务,但是如果我尝试从 PlansData 服务中的用户数据调用任何东西,我会得到未定义的。
如何让 planData 等待 UserData 有一些数据?
谢谢
汤姆