Ale*_*aru 11 angular-http-interceptors angular
我有以下拦截器:
@Injectable()
export class TokenInterceptor implements HttpInterceptor {
constructor(private tokenService: TokenService) { }
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const token = this.tokenService.getToken();
if (token) {
const authReq = req.clone({
headers: req.headers.set('Authorization', `Bearer ${token}`)
});
return next.handle(authReq);
}
return next
.handle(req)
//
.getSomehowTheResponse()
.andSaveTheTokenInStorage()
.andPropagateNextTheResponse()
}
}
Run Code Online (Sandbox Code Playgroud)
我想从本地存储中的响应头保存令牌,所有教程都显示如何拦截请求,但不是很清楚响应.
Max*_*kyi 14
next.handle(req)
返回一个observable,以便您可以订阅它:
return next.handle(req).map((event: HttpEvent<any>) => {
if (event instanceof HttpResponse) {
// do stuff with response and headers you want
event.headers
event.body
}
return event;
})
Run Code Online (Sandbox Code Playgroud)
要了解有关拦截器背后的力学的更多信息,请阅读:
归档时间: |
|
查看次数: |
7838 次 |
最近记录: |