#javascript #angular #typescript #dependency-injection #interceptor
Вопрос:
Пожалуйста, прочитайте инструкцию @ngneat/cashew
, прежде чем отвечать на этот вопрос отсюда @ngneat / cashew
Идея проста вместо того, чтобы делать это на service
таком уровне,
this.httpClient.get<Posts>(`http://localhost:3000/posts/${id}`,{context:withCache()});
Я хочу создать глобальный перехватчик. Вот мой фрагмент кода,
# Config of Interceptor
{
provide: HTTP_INTERCEPTORS, useClass: CacheInterceptor, multi: true
}
# Here is CacheInterceptor
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const modifiedRequest = request.clone(
{context: withCache()}
);
return next.handle(modifiedRequest);
}
Я хочу сделать это, потому что добавление { context : withCache() }
в метод каждого сервиса является повторяющимся, иначе в существующем проекте это слишком много времени. убийца. Вот почему я хочу добиться этого, создав пользовательский Interceptor
. Возможно ли это достичь?