0

I have a itemsObservable, filtersObservable, and a queryObservable and feed their values to a function that takes a list of items, filter conditions, and a search query, and returns a filtered list.

Right now my code looks something like:

itemsObservable
    .flatMap(items => {
        filtersObservable
            .flatMap(filters => {
                queryObservable
                    .map(query => filterItems(items, filters, query))
             })
     });

Is there a better code pattern for this that eschews the deep nesting?

Jason Christa
  • 12,150
  • 14
  • 58
  • 85

1 Answers1

1
queryObservable.withLatestFrom(
    filtersObservable,
    itemsObservable,
    (query, filters, items) => filterItems(items, filters, query)
)
André Staltz
  • 13,304
  • 9
  • 48
  • 58