У меня есть 2 метода app.run. Как остановить первый метод, пока обещание не будет разрешено?

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

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


person Rick_C137    schedule 14.02.2017    source источник
comment
сохранить второе на успех первого.   -  person Saurabh Agrawal    schedule 14.02.2017
comment
Не могли бы вы объяснить, используя код, было бы здорово, спасибо   -  person Rick_C137    schedule 14.02.2017
comment
это не сработало никаким другим способом приостановить выполнение при первом запуске   -  person Rick_C137    schedule 15.02.2017


Ответы (1)


person    schedule
comment
то, что я хочу сделать, это сначала получить эти данные до того, как произойдет какой-либо переход состояния - person Rick_C137; 14.02.2017
comment
немного покопался и обнаружил, что методы запуска являются асинхронными и параллельными, поэтому я не могу их остановить, поэтому я создал страницу загрузки. который будет продолжать загружаться до тех пор, пока мой ответ асинхронного обратного вызова - person Rick_C137; 06.04.2017