我对 angular state promise resolves 有什么误解?
What am I misunderstanding about angular state promise resolves?
这是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 中您已经 return 做出承诺:
AllUser: function(){
return $http.get('api/allUser');
}
当您 return 一个 $http 请求时会发生什么。所以当你告诉它 return 它在你的决心中你只需要:
resolve:{
registerService: "registerService",
userList: function(registerService){
return registerService.AllUser();
}
否则在最后加上 .$promise 你就是在告诉它去获取一个 promise 的承诺。
这是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 中您已经 return 做出承诺:
AllUser: function(){
return $http.get('api/allUser');
}
当您 return 一个 $http 请求时会发生什么。所以当你告诉它 return 它在你的决心中你只需要:
resolve:{
registerService: "registerService",
userList: function(registerService){
return registerService.AllUser();
}
否则在最后加上 .$promise 你就是在告诉它去获取一个 promise 的承诺。