Witam serdecznie,
mam problem z Subject RXJS.
this.subjectService.createNext(this.service.getData(''1") /* 1 = pageNumber
this.subjectService.createNext(this.service.getData(''2") /* 2 = pageNumber
this.subjectService.createNext(this.service.getData("3") /* 3 = pageNumber
W pewnym komponencie wywołuję 3 metody next (trzeba pobrać zawartość 3 stron API, każda po 10 values).
W innym komponencie jest .subscribe do Subject.
Jeżeli nie dodam flatMap:
.pipe(flatMap(res => res).subscribe ...
dostaje osobno 3 strony poprzez 3 osobne observables (dobrze rozumiem?)
ale ...
wtedy wszystko jest widziane jako "... Observable _isScalar ...", nie jako lista values.
Jeżeli dodam flatMap:
wtedy wszystkie 3 strony są spłaszczone jako jeden Observable i oczywiście dostaje values z 3 stron z API ale:
this.subjectService.createNext(this.service.getData("3")
dostaje tylko liczbę "3" - ostatni wywołany createNext().
gdy mapuję console.log(pageNumber) wypisuje mi:
>>3
>>3
>>3
zamiast
>>1
>>2
>>3
jak to ma miejsce gdy nie użyje flatMap w pipe()
Czy ktoś może wie jak rozwiązać problem by dane pobierane były widziane jako value_array (działa gdy użyje flatMap) i jednocześnie by nie spłaszczało (1,2,3 zamiast 3,3,3)