вызвать асинхронный канал, наблюдаемый внутри другого метода подписки - PullRequest
0 голосов
/ 29 марта 2019

Я вызываю асинхронный канал, наблюдаемый два раза, сначала в ngOnInit, а затем внутри других подписчиков.Таким образом, проблема заключается в том, что асинхронные каналы наблюдаемых вызовов только в первый раз после второго вызова не вызывается.

можно наблюдать с асинхронным каналом

HTML-код:

<ul class="dropdown-menu">
      <li *ngFor="let item of accountTypes | async">
        <a href="javascript:void(0)">{{item.Code}}</a>
      </li>
</ul>

угловойкод:

accountTypes: Observable<Array<AgencyInfo>>;

ngOnInit() {
 // first call -- working fine
 this.accountTypes = this.accountsService.getAgency(-1);
}

// call method on button click
getGBACSalesPersonCode() {
this.authenticationService.getGBACSalesPersonCodes().subscribe((res: 
any[]) => {
    // second call -- not calling api(error)
    this.accountTypes = this.accountsService.getAgency(5);
 });
}

второй вызов должен вызывать API.

...