@ ngrx/store을 사용하여 저장소에서 토큰을 가져 와서 HTTP 헤더에 배치하면 flatmap mergeMap을 사용했지만 모두 HTTP 요청을 복제하고 계속 사용합니다. (1) 루프 요청 및 중단에 간다 가지고, 이것은 내가 무엇을 가지고 :Observable from Angular HttpInterceptor Observable에서
@Injectable()
export class AuthInterceptorService implements HttpInterceptor {
token$: Observable<string>;
constructor(private readonly store: Store<fromRoot.State>) {
this.token$ = store.select(fromAuth.getToken);
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return this.token$
.map(token => {
if (token) {
request = request.clone({setHeaders: {Authorization: `Bearer ${token}`}});
}
})
.mergeMap(() => next.handle(request));
}
}
아마도 switchMap을 사용하고 실제로 스트림을 통해 수정 된 요청을 전달해야합니다. – bryan60