这是appRouteConfig.js
状态
我使用$promise
来验证userList:
.state('userAccounts',{
url:'/userAccounts',
controller:'UserAccount',
resolve:{
registerService: "registerService",
userList: function(registerService){
return registerService.AllUser().$promise;
}
},
templateUrl:'UserAccounts/UserAccountsView.html'
})
这是registerService.js
AllUser: function(){
return $http.get('api/allUser');
}
不使用$promise
就可以正常使用。
我想知道为什么在这里使用$ promise不起作用。如果不清楚请发表评论。
答案 0 :(得分:2)
删除它时它会正常工作,因为在registerService.js中你已经返回了一个promise:
AllUser: function(){
return $http.get('api/allUser');
}
当您返回$ http请求时会发生什么。因此,当您告诉它以您的决心返回时,您只需要:
resolve:{
registerService: "registerService",
userList: function(registerService){
return registerService.AllUser();
}
否则最后使用。$ promise,告诉它承诺承诺。