spy*_*ter 1 ngrx ngrx-effects angular
我有一个非常简单的效果,它产生一个http请求,并在完成后调度一个动作.
HTTP请求不断被取消并反复重新制作.
最初我以为是导致问题的switchMap(取消了observable)所以我尝试使用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)))
);Run Code Online (Sandbox Code Playgroud)
上面的代码编译没有错误,并按预期工作,除了它不断取消和重新生成http请求的事实.
我不知道它是否重要,但我使用的是HttpClient(@ angular/common/http),而不是@ angular/http.
任何建议将不胜感激!