这是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不起作用。如果不清楚,请发表评论。
最佳答案
删除它时,它可以正常工作,因为在您的registerService.js中,您已经返回了promise:
AllUser: function(){
return $http.get('api/allUser');
}
返回$ http请求时会发生什么。因此,当您告诉它以解决方案将其返回时,您只需要:
resolve:{
registerService: "registerService",
userList: function(registerService){
return registerService.AllUser();
}
否则,最后是。$ promise,则是告诉它获得承诺的承诺。