RXJS Scan - с последним из другого наблюдаемого - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь выяснить, как использовать сканирование для получения нового состояния, когда моя входная наблюдаемая испускает новое значение, но я не могу заставить его работать.

Я хочу вывестиnew State каждый раз, когда input $ observable испускает новое значение, но оно должно быть получено из текущего значения состояния $.

Кто-нибудь может подсказать, как я могу это исправить?У меня такое ощущение, что я совершенно неверно понял: -)

Мой код выглядит примерно так:

const stateReducer = (state$: Observable<State>, input$: Observable<Input>) => {
  state$ = state$.pipe( startWith(DEFAULT_STATE) );

  const foo$: Observable<State> = input$.pipe(
    filter((input) => isFoo(input)),
    withLatestFrom(state$),
    scan((acc, ([input, state]) => {
        //returns derived state
    });

   const bar$: Observable<State> = input$.pipe(
    filter((input) => isBar(input)),
    withLatestFrom(state$),
    scan((acc, ([input, state]) => {
        //returns derived state
    });

   return merge(
     foo$,
     bar$
   );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...