тут уже есть массив из 5 объектов);
На определенном этапе мне нужно будет сделать гет запрос который вернет OfferInterface[]
Как мне объединить в offers$ старые значение (5 объектов что были) и новые что пришли с запроса
Возможно есть какой то оператор в RxJS?
Есть оператор scan, который умеет аккумулировать значения. Работает как reduce, только эмитит значения при каждом эмите: scan((offers, newOffers) => [...offers, ...newOffers], [])
this.offers$ .pipe( mergeMap(() => { const filters = this.offersParams$.getValue(); return this.offersService.getSimple(filters); }), scan((listOffers, newOffer) => [...listOffers, ...newOffer], []) ) .subscribe((offers) => { console.log(offers); }); Что делаю не так? Функция зациклилась и возвращает только newOffer ( listOffers перезатираеться)
а зачем там mergeMap? попробуй switchMap, в scan вроде все норм
Сможете повторить проблему на stackblitz?
тогда не знаю. но знаю точно, что проблема не тут. Где то в другом месте
Обсуждают сегодня