如果第一个史诗叫做第二个史诗怎么不打?

问题描述 投票:1回答:1

我有一个特殊的史诗

const extraEpics = combineEpics(someEpic1, someEpicN);

每一个都将检查他们的情况,他们都听同样的行动

action$.pipe(
    ofType(UPDATE_ACTION),
    pluck("payload"),
    filter(checkSomeExtraCase)

没有一个史诗不会导致默认行为

const defaultBehaviorWithoutFilter = action$.pipe(
        ofType(UPDATE_ACTION),
        pluck("payload"),

当额外的逻辑被过滤时我需要调用它并且我尝试连接

export default (action$, state$) =>
  concat(
    extraEpics(action$, state$), 
    defaultBehavior(action$, state$)
  )

但是当调用extra时,默认会调用如何在没有调用额外时才导致默认值?

rxjs rxjs6 redux-observable
1个回答
1
投票

在这种情况下,我认为你可以看看rxjs-etcconcatIfEmpty运算符,这正是你想要的。

export default (action$, state$) =>
  extraEpics(action$, state$)
    .pipe(
       concatIfEmpty(defaultBehavior(action$, state$))
     )
© www.soinside.com 2019 - 2024. All rights reserved.