Angularjs 我有2个app.run方法。如何在第一个方法中停止,直到承诺得到解决?
我需要先完成Angularjs 我有2个app.run方法。如何在第一个方法中停止,直到承诺得到解决?,angularjs,angularjs-scope,angular-ui-router,angular-ui-router-extras,Angularjs,Angularjs Scope,Angular Ui Router,Angular Ui Router Extras,我需要先完成Usercervice.aclcall,然后运行second run(apprun)需要调用的方法是UserService.acl()中的代码 让acl=()=>{ 返回$http.get(AppConstants.api+/acl/user resources) 。然后((res)=>{ 返回资源数据 }) } 请你解释一下,使用一些代码,这会很好,谢谢你没有用任何其他方法在第一次运行时保持执行。我想做的是在任何状态转换发生之前先获取数据。我进行了一些挖掘,发现运行方法是异步和并行
Usercervice.acl
call,然后运行second run(apprun)需要调用的方法是UserService.acl()中的代码
让acl=()=>{
返回$http.get(AppConstants.api+/acl/user resources
)
。然后((res)=>{
返回资源数据
})
}
请你解释一下,使用一些代码,这会很好,谢谢你没有用任何其他方法在第一次运行时保持执行。我想做的是在任何状态转换发生之前先获取数据。我进行了一些挖掘,发现运行方法是异步和并行的,所以我无法停止它们,所以创建了它加载页。它将继续加载,直到我的异步回调响应
angular.module('app', [
... ])
.constant('AppConstants', constants)
.config(appConfig)
.run((UserService, User) => {
'ngInject';
console.log('apprun')
UserService.acl()
.then((data) => {
console.log('data')
User.setACL(data)
console.log(data)//finsish this first then go to second run call
})
.catch((err) => {
console.log(err);
})
})
.run(appRun)
.component('app', AppComponent)
.constant('AppConstants', constants)
.config(appConfig)
.run((UserService, User) => {
'ngInject';
console.log('apprun')
UserService.acl()
.then((data) => {
console.log('data')
User.setACL(data)
console.log("done with first run")//finsish this first then go to second run call
/*here is my second run block i.e. on success of first one*/
var acl = () => {
return $http .get(AppConstants.api + /acl/user-resources).then((res) {
return res.data
})
}
})
.catch((err) => {
console.log(err);
})
})
.run(appRun)
.component('app', AppComponent)