Interface ReadonlyExecutor<Value>

Provides access execution results and allows to subscribe to an execution state changes.

interface ReadonlyExecutor<Value> {
    annotations: ExecutorAnnotations;
    invalidatedAt: number;
    isActive: boolean;
    isFulfilled: boolean;
    isInvalidated: boolean;
    isPending: boolean;
    isRejected: boolean;
    isSettled: boolean;
    key: any;
    manager: ExecutorManager;
    pendingPromise: null | AbortablePromise<Value>;
    reason: any;
    settledAt: number;
    task: null | ExecutorTask<Value>;
    value: undefined | Value;
    version: number;
    get(): Value;
    getOrAwait(): AbortablePromise<Value>;
    getOrDefault(): undefined | Value;
    getOrDefault<DefaultValue>(defaultValue: DefaultValue): Value | DefaultValue;
    subscribe(listener: ((value: ExecutorEvent<Value>) => void)): (() => void);
    toJSON(): ExecutorState<Value>;
}

Type Parameters

  • Value = any

    The value stored by the executor.

Hierarchy (view full)

Properties

annotations: ExecutorAnnotations

The map of annotations associated with the executor.

invalidatedAt: number

The timestamp when the executor was invalidated, or 0 if the executor isn't invalidated.

isActive: boolean

true if the executor was activated more times then deactivated.

isFulfilled: boolean

true if the executor was fulfilled with a value, or false otherwise.

isInvalidated: boolean

true if invalidate was called on a settled executor and a new settlement hasn't occurred yet.

isPending: boolean

true if the execution is currently pending, or false otherwise.

isRejected: boolean

true if the executor was rejected with a reason, or false otherwise.

isSettled: boolean

true if the executor is fulfilled or rejected, or false otherwise.

key: any

The key of this executor, unique in scope of the Executor.manager.

The manager that created the executor.

pendingPromise: null | AbortablePromise<Value>

The promise of the pending task execution, or null if there's no pending task execution.

Note: This promise is aborted if the task is replaced. Use getOrAwait to wait until the executor becomes settled.

reason: any

The reason of the latest failure.

Note: An executor may still have a rejection reason even if it was fulfilled. Check isRejected to ensure that an executor is actually rejected.

settledAt: number

The timestamp when the executor was settled, or 0 if it isn't settled.

task: null | ExecutorTask<Value>

The latest task that was executed, or null if the executor didn't execute any tasks.

value: undefined | Value

The value of the latest fulfillment.

Note: An executor may still have value even if it was rejected. Use get, getOrDefault, or getOrAwait to retrieve a value of the fulfilled executor.

version: number

The integer version of the state of this executor that is incremented every time the executor is mutated.

Methods

  • Subscribes the listener to changes of the observed value.

    Parameters

    Returns (() => void)

      • (): void
      • Returns void