RequestContextCacheService
RequestContextCacheService
This service is used to cache arbitrary data relative to an ongoing request. It does this by using a WeakMap bound to the current RequestContext, so the cached data is available for the duration of the request. Once the request completes, the cached data will be automatically garbage-collected.
This is useful for caching data which is expensive to compute and which is needed multiple times during the handling of a single request.
Signature
class RequestContextCacheService {
set(ctx: RequestContext, key: any, val: T) => void;
get(ctx: RequestContext, key: any) => T | undefined;
get(ctx: RequestContext, key: any, getDefault?: () => T) => T;
get(ctx: RequestContext, key: any, getDefault?: () => T) => T | Promise<T> | undefined;
}
set
method
(ctx: RequestContext, key: any, val: T) => void
Set a value in the RequestContext cache.
get
method
(ctx: RequestContext, key: any) => T | undefined
Get a value from the RequestContext cache. If the value is not found, the getDefault
function will be called to get the value, which will then be cached and returned.
get
method
(ctx: RequestContext, key: any, getDefault?: () => T) => T
get
method
(ctx: RequestContext, key: any, getDefault?: () => T) => T | Promise<T> | undefined