0

我有一個itemsObservable,filtersObservable和一個queryObservable並將它們的值提供給一個函數,該函數採用項目列表,過濾條件和搜索查詢,並返回一個過濾列表。RxJS中的重構嵌套FlatMap

現在我的代碼看起來是這樣的:

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

有沒有這一點,避開了深度嵌套一個更好的代碼模式?

回答

1
queryObservable.withLatestFrom(
    filtersObservable, 
    itemsObservable, 
    (query, filters, items) => filterItems(items, filters, query) 
)