Epic игнорирует результат первого обещания, когда одновременно происходит второе действие с таким же типом - PullRequest
0 голосов
/ 27 февраля 2019

Мой эпос:

const myEpic: Epic<any, any> = action$ =>
  action$.ofType(MY_ACTION_TYPE).switchMap(action => {
    console.log("begin get ");
    return Observable.fromPromise(api.get()).map(
      response => {
        console.log("end get ");
        return resultLoaded(action.param, response);
      }
    );
});

, затем через некоторое время я делаю два действия с одним и тем же типом MY_ACTION_TYPE, но с другим параметром.Результат в консоли:

begin get
begin get
end get

Почему отсутствует второй "конец get"?

1 Ответ

0 голосов
/ 27 февраля 2019

Изменение switchMap на mergeMap решило проблему.

Документация по switchMap: Как и mergeMap (), но когда исходная наблюдаемая функция отправляет, отмените все предыдущие подписки внутренней наблюдаемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...