Issue
I want to merge the latest emitted values from multiple Observables, so right now I’m using .withLatestFrom
. Except, it nests the data together in nested arrays instead of pushing the data into a new array value. Example code below.
Any ideas on how I can retrieve multiple Observable emits using .withLatestFrom
?
source0
.withLatestFrom(source1)
.withLatestFrom(source2)
.withLatestFrom(source3)
.map((data) => { console.log(data) });
Solution
withLatestFrom
supports multiple observables:
.withLatestFrom(source1, source2, source3)
.map((data) => { console.log(data) });
-> [val, value1, value2, value3]
It also supports function as it’s last parameter, so you can get values other than arrays:
observable$
.withLatestFrom(source1, source2, (val, one, two) => {
return {val: val, one: one, two: two};
});