我正在加载一个/ home状态,我想从数据库中获取所有用户,这样我就可以根据用户的登录情况操作家庭控制器并进行查看。目前我正抓住所有“帖子”在我的:数据库中的状态配置的解析部分。但是,我无法弄清楚如何一次实现多个承诺。
这是我的/ home
的州代码 $stateProvider
.state('home', {
url: '/home',
templateUrl: '/home.html',
controller: 'MainCtrl',
resolve: {
postPromise: ['posts', function(posts){
return posts.getAll();
// I want to resolve more than one promise here.
}]
}
})
基本上我只想在解决/ home状态期间运行users.getAll()。我无法弄清楚这样做的语法。
答案 0 :(得分:1)
只需在状态配置中添加第二个解析:
$stateProvider
.state('home', {
url: '/home',
templateUrl: '/home.html',
controller: 'MainCtrl',
resolve: {
postPromise: ['posts', function(posts){
return posts.getAll();
// I want to resolve more than one promise here.
}],
userPromise: ['users', function(users){
return users.getAll();
}]
}
})
或者,作为替代方法,使用$ q.all([userPromise,postsPromise]):这将为您提供一个解析,只要数组中的所有promise都被解析,并且作为值,您将获得一个包含数组的数组数组中每个promise的结果。