0
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) 방법은 여기를 호출 할 필요하면 =() => { 반환 $에 http UserService.acl()약속이 해결 될 때까지 첫 번째 방법을 중단하려면 2 개의 app.run method.how가 있습니까?

    하자의 ACL에서 코드입니다. 수 (AppConstants.api + /acl/user-resources) 그 때는 ((고해상도) => { 반환 res.data })
    }

+2

첫 번째 성공을 유지하십시오. –

+0

좋은 코드 덕분에 설명해 주시겠습니까 –

+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) 
+0

내가 원하는 것은 상태가 전환되기 전에 해당 데이터를 먼저 얻는 것입니다. –

+0

일부 파고를 발견했습니다. 그 실행 방법은 비동기 및 병렬 그래서 난 그들을 막을 수 없어 무슨 짓을했는지로드 페이지가 만들어집니다. 내 비동기 콜백 응답 때까지 계속로드됩니다. –