Вложенность subscribe Angular6

189
20 февраля 2019, 16:20

Всем привет подскажите как правильно избавится от вложенности subscribe в angular 6

firstMethod(id: number): Observable<any> {
   return this.http.get<any>('URL');
}
secondMethod(id: number): Observable<any> {
   return this.http.get<any>('URL');
}
 myServices.firstMethod(id).suscribe(firstMethodRes => {
    myServices.secondMethod(firstMethodRes.params).subscribe(secondMethodRes => {
    ...
    });
});
Answer 1

Используя Promise:

myServices.firstMethod(id).toPromise().then(({ params }) => {
    return myServices.secondMethod(params).toPromise();
}).then((secondMethodRes) => {
    console.log(secondMethodRes);
});

Используя mergeMap || switchMap || concatMap || exhaustMap:

import { mergeMap, switchMap, concatMap, exhaustMap } from 'rxjs/operators';
myServices.firstMethod(id).pipe(
    mergeMap(({ params }) => myServices.secondMethod(params))
    // ИЛИ
    switchMap(({ params }) => myServices.secondMethod(params))
    // ИЛИ
    concatMap(({ params }) => myServices.secondMethod(params))
    // ИЛИ
    exhaustMap(({ params }) => myServices.secondMethod(params))
).subscribe((secondMethodRes) => {
    console.log(secondMethodRes);
});

Используя map + mergeAll || switchAll || concatAll || exhaust:

import { map, mergeAll } from 'rxjs/operators';
myServices.firstMethod(id).pipe(
    map(({ params }) => myServices.secondMethod(params)),
    mergeAll()
    // ИЛИ
    switchAll()
    // ИЛИ
    concatAll()
    // ИЛИ
    exhaust()
).subscribe((secondMethodRes) => {
    console.log(secondMethodRes);
});
READ ALSO
Использование Remote Object Yandex API

Использование Remote Object Yandex API

Возникла проблема в отображении объектов на картеЕсть города, в городах филиалы, филиалы разбиваются на объекты, а объекты на авто

158
Две inline keyboards telegram

Две inline keyboards telegram

Есть вот такой код:

226
JQuery. each() не сохраняет данные на форме

JQuery. each() не сохраняет данные на форме

Я не знаю JQuery но пытаюсь его понять и научитсяЯ делаю веб-форму для себя

214
Не могу могу удалить объект объекта из localStorage

Не могу могу удалить объект объекта из localStorage

Не могу понять в чем проблема, поискал в гугле инфу, самое близкое это было заменить объектВроде получилось, но удаляются все элементы из localStorage

214