HttpContext
Контекст HTTP хранит произвольные значения, определяемые пользователем, и обеспечивает типобезопасность, даже если типы неизвестны. Он основан на Map и гарантирует, что ключи не конфликтуют.
API
class HttpContext {
set<T>(token: HttpContextToken<T>, value: T): HttpContext;
get<T>(token: HttpContextToken<T>): T;
delete(token: HttpContextToken<unknown>): HttpContext;
has(token: HttpContextToken<unknown>): boolean;
keys(): IterableIterator<HttpContextToken<unknown>>;
}
set
HttpContextСохраняет значение в контексте. Если значение уже существует, оно будет перезаписано.
TСохраняемое значение.
get
TПолучает значение, связанное с указанным токеном.
TСохраненное значение или значение по умолчанию, если оно задано.
delete
HttpContextУдаляет значение, связанное с указанным токеном.
has
booleanПроверяет, существует ли указанный токен.
booleanTrue, если токен существует, иначе false.
keys
IterableIterator<HttpContextToken<unknown>>Описание
Контекст HTTP хранит произвольные значения, определяемые пользователем, и обеспечивает типобезопасность, даже если типы неизвестны. Он основан на Map и гарантирует, что ключи не конфликтуют.
Этот контекст является изменяемым и используется совместно клонированными запросами, если не указано иное.
Примечания по использованию
Пример использования
// inside cache.interceptors.ts
export const IS_CACHE_ENABLED = new HttpContextToken<boolean>(() => false);
export class CacheInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, delegate: HttpHandler): Observable<HttpEvent<any>> {
if (req.context.get(IS_CACHE_ENABLED) === true) {
return ...;
}
return delegate.handle(req);
}
}
// inside a service
this.httpClient.get('/api/weather', {
context: new HttpContext().set(IS_CACHE_ENABLED, true)
}).subscribe(...);
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/common/http/HttpContext