Всем привет подскажите как правильно избавится от вложенности 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 => {
...
});
});
Используя 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);
});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Возникла проблема в отображении объектов на картеЕсть города, в городах филиалы, филиалы разбиваются на объекты, а объекты на авто
Я не знаю JQuery но пытаюсь его понять и научитсяЯ делаю веб-форму для себя
Не могу понять в чем проблема, поискал в гугле инфу, самое близкое это было заменить объектВроде получилось, но удаляются все элементы из localStorage