Как сделать синхронный вызов с помощью Angular8 - PullRequest
0 голосов
/ 18 июня 2020

Мне нужно сделать синхронный звонок с помощью Amgular8. Я объясняю свой код ниже.

constructor(private fb: FormBuilder,private as:  ApiService,private storeService: StoreService, private router: Router, private route : ActivatedRoute) {
    this.getAllStores();
    this.route.paramMap.subscribe(params => {
      this.editID = params.get('id');
      this.getUser(params.get('id'));
    });
  }

getAllStores() {
    this.sCodes = [];
    let roleName = (this.users && this.users.RoleName) || '';
     if(roleName.toUpperCase() === 'SHOWROOM') {
      this.storeService.getShowroomStores().subscribe(data => {
        //console.log('stores', data);
        this.sCodes = data['data'];
      })
     }else{
      this.storeService.getPosStores().subscribe(data => {
        console.log('stores', data);
        this.sCodes = data['data'];
      })
     }
  }

getUser(id:String){
    this.as.getUserById(id).subscribe(x => {
      this.users = x['data'] as Users;
      this.setForm();
    });
  }

Здесь мне нужно сначала позвонить this.getAllStores, а затем this.getUser, но в соответствии с моим кодом сначала выполняется this.getUser, а затем this.getAllStores в результате я получить неправильный результат. Поэтому мне нужно сначала выполнить this.getAllStores.

...