我有2个app.run方法。在第一个方法中停止,直到承诺得到解决?

时间:2017-02-14 11:38:06

标签: angularjs angularjs-scope angular-ui-router angular-ui-router-extras

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)
  1. 我需要首先完成Usercervice.acl调用,然后运行第二次运行(apprun)方法需要在这里调用来自UserService.acl()的代码

    让acl =()=> {     return $ http.get(AppConstants.api + /acl/user-resources)         .then((res)=> {            返回res.data          })
     }

1 个答案:

答案 0 :(得分:0)

.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)