Angular 5 Объединение или рефакторинг нескольких абонентов - PullRequest
0 голосов
/ 28 августа 2018

Я использую Angular 5.2 в своем веб-проекте. На одной из страниц я использую несколько вызовов подписки на разные методы webAPI. Хотя они разные и независимые вызовы, чтобы принести разные наборы данных также.

Но я думаю, что есть способ объединить / объединить вызовы подписки в одном синтаксисе и сделать код маленьким и аккуратным.

ngOnInit(): void {

    this._documentService.getTypes()
        .subscribe(px => {
            this._docTypeList = px;
        },

        error => {
           console.log("Grid Err:: " + error.message);
        }
        );


    this._documentService.getCategories()
        .subscribe(rx => {
            this._catList = rx;               
        },
        error => {
            console.log("Grid Err:: " + error.message);  }
        );
}

Есть ли способ, которым я могу реорганизовать этот код, чтобы сделать его коротким?

Пожалуйста, предложите.

1 Ответ

0 голосов
/ 28 августа 2018

используйте forkJoin для объединения нескольких наблюдаемых

forkJoin(this._documentService.getTypes(), this._documentService.getCategories() ) 
    .subscribe(rx => {
        this._docTypeList = rx[0] 
        this._catList = rx[1];               
    },
    error => {
        console.log("Grid Err:: " + error.message);  }
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...