在RxJS epic中被废弃的连接操作符

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

我有一个epic与concat操作符很好地工作。Webstorm开始说,在我使用它的方式中,它是不适用的。说

废弃的导出函数 concat<{type: string}[]>( v1: {type: string}[], scheduler: SchedulerLike)。Observable> 使用 scheduled 和 concatAll (例如 scheduled([o1, o2, o3], scheduler).pipe( concatAll())

想不通,如何重写这段代码?

const epic = action$ => action$.pipe(
  ofType(TYPE),
  mergeMap(() =>
    concat(
      of({type: 'START'}),
      ajax.getJSON('someurl').pipe(
        mergeMap(serverResponse => ([
          {type: 'LOADED'},
          {type: 'DO_JOB', serverResponse}
        ]))
    )
  )
)
rxjs rxjs6
1个回答
0
投票

使用 concatWith。 concatWith 其实并不是一个全新的操作符。它只是用来替换目前被标记为废弃的 concat 运算符,并将在 v8 中被移除。

concatWith只接受ObservableInput类型的输入,而concat也可以接受一个调度器。

更多细节请参见 此处

© www.soinside.com 2019 - 2024. All rights reserved.