У меня есть очень простой эффект, который делает HTTP-запрос и отправляет действие, когда оно завершено.
HTTP-запрос постоянно отменяется и переделывается снова и снова.
Первоначально я думал, что причиной проблемы является switchMap (отмена наблюдаемого), поэтому я попытался использовать mergeMap (тот же результат).
Ниже мой код для эффекта.
signIn$ = this.actions$
.ofType(ACTIONS.AUTH.SIGN_IN)
.map(toPayload)
.map(payload => toInput(payload))
.switchMap(input => this.http
.post<Output>(`${GLOBALS.endpoint}/auth/authenticate`, input)
.map(output => ({ type: ACTIONS.APP.PUSH_NOTIFICATION, payload: "test" }))
.catch(error => of(createAction(ACTIONS.APP.LOG_EXCEPTION, error)))
);
Приведенный выше код компилируется без ошибок и работает так, как ожидалось, за исключением того факта, что он продолжает отменять и переделывать HTTP-запрос.
Не знаю, имеет ли это значение, но я использую HttpClient (@ angular / common / http), а не @ angular / http.
Любой совет будет очень признателен!