如何在 rxjs 6 中使用 race

How to use race with rxjs 6

我有以下声明,它适用于 rxjs5.5 和 redux observable 0.x。现在,我正在使用 redux-observable v1 和 rxjs v6。我无法弄清楚如何为以下代码转换 race(因为它已被弃用)。

(action$, state$) =>
    action$.pipe(
      ofType(REQUEST),
      switchMap(action => {
        return race(
          action$.pipe(
            ofType(REQUEST_CANCEL),
            take(1),
            mapTo(
              observableOf(
                failure({
                  description: "Cancelled by user."
                })
              )
            ),
            ajax(`url`).pipe(
              map(response => response.response),
              map(data => success(data)),
              catchError(error =>
                handleError(FAILURE, error)
              )
            )
          )
        );
      })
    ),

可能是其他问题,没有发出请求。它认为种族是问题。

我错过了更新的文档,

import { ajax } from 'rxjs/ajax';

const fetchUserEpic = action$ => action$.pipe(
  ofType(FETCH_USER),
  mergeMap(action => race(
    ajax.getJSON(`/api/users/${action.payload}`).pipe(
      map(response => fetchUserFulfilled(response))
    ),
    action$.pipe(
      ofType(FETCH_USER_CANCELLED),
      map(() => incrementCounter()),
      take(1)
    )
  ))
);