Class CancellablePromise<T>

A promise with a cancel method.

If canceled, the CancellablePromise will reject with a [[Cancellation]] object.

Type Parameters

  • T

    what the CancellablePromise resolves to

Hierarchy

  • CancellablePromise

Constructors

  • Type Parameters

    • T

    Parameters

    • promise: PromiseLike<T>

      a normal promise or thenable

    • cancel: ((reason?: string) => void)

      a function that cancels promise. Calling cancel after promise has resolved must be a no-op.

        • (reason?: string): void
        • Parameters

          • Optional reason: string

          Returns void

    Returns CancellablePromise<T>

Properties

cancel: ((reason?: string) => void)

Type declaration

    • (reason?: string): void
    • Cancel the CancellablePromise.

      Parameters

      • Optional reason: string

      Returns void

promise: Promise<T>

As a consumer of the library, you shouldn't ever need to access CancellablePromise.promise directly.

If you are subclassing CancellablePromise for some reason, you can access this property.

Accessors

  • get [toStringTag](): string
  • This is necessary to make CancellablePromise assignable to Promise.

    Returns string

Methods

  • Analogous to Promise.catch.

    Type Parameters

    • TResult = never

    Parameters

    • Optional onRejected: null | ((reason: any) => TResult | PromiseLike<TResult>)

    Returns CancellablePromise<T | TResult>

  • Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The resolved value cannot be modified from the callback.

    Returns

    A Promise for the completion of the callback.

    Parameters

    • Optional onFinally: null | (() => void)

      The callback to execute when the Promise is settled (fulfilled or rejected).

    Returns CancellablePromise<T>

  • Analogous to Promise.then.

    onFulfilled on onRejected can return a value, a normal promise, or a CancellablePromise. So you can make a chain a CancellablePromises like this:

    const overallPromise = cancellableAsyncFunction1()
    .then(cancellableAsyncFunction2)
    .then(cancellableAsyncFunction3)
    .then(cancellableAsyncFunction4)

    Then if you call overallPromise.cancel, cancel is called on all CancellablePromises in the chain! In practice, this means that whichever async operation is in progress will be canceled.

    Returns

    a new CancellablePromise

    Type Parameters

    • TResult1 = T

    • TResult2 = never

    Parameters

    • Optional onFulfilled: null | ((value: T) => TResult1 | PromiseLike<TResult1>)
    • Optional onRejected: null | ((reason: any) => TResult2 | PromiseLike<TResult2>)

    Returns CancellablePromise<TResult1 | TResult2>

  • Analogous to Promise.all.

    Returns

    a [[CancellablePromise]], which, if canceled, will cancel each of the promises passed in to CancellablePromise.all.

    Type Parameters

    • T1

    • T2

    • T3

    • T4

    • T5

    • T6

    • T7

    • T8

    • T9

    • T10

    Parameters

    • values: readonly [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>, T8 | PromiseLike<T8>, T9 | PromiseLike<T9>, T10 | PromiseLike<T10>]

      an array that may contain CancellablePromises, promises, thenables, and resolved values

    Returns CancellablePromise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>

  • Analogous to Promise.all.

    Returns

    a [[CancellablePromise]], which, if canceled, will cancel each of the promises passed in to CancellablePromise.all.

    Type Parameters

    • T1

    • T2

    • T3

    • T4

    • T5

    • T6

    • T7

    • T8

    • T9

    Parameters

    • values: readonly [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>, T8 | PromiseLike<T8>, T9 | PromiseLike<T9>]

      an array that may contain CancellablePromises, promises, thenables, and resolved values

    Returns CancellablePromise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>

  • Analogous to Promise.all.

    Returns

    a [[CancellablePromise]], which, if canceled, will cancel each of the promises passed in to CancellablePromise.all.

    Type Parameters

    • T1

    • T2

    • T3

    • T4

    • T5

    • T6

    • T7

    • T8

    Parameters

    • values: readonly [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>, T8 | PromiseLike<T8>]

      an array that may contain CancellablePromises, promises, thenables, and resolved values

    Returns CancellablePromise<[T1, T2, T3, T4, T5, T6, T7, T8]>

  • Analogous to Promise.all.

    Returns

    a [[CancellablePromise]], which, if canceled, will cancel each of the promises passed in to CancellablePromise.all.

    Type Parameters

    • T1

    • T2

    • T3

    • T4

    • T5

    • T6

    • T7

    Parameters

    • values: readonly [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>]

      an array that may contain CancellablePromises, promises, thenables, and resolved values

    Returns CancellablePromise<[T1, T2, T3, T4, T5, T6, T7]>

  • Analogous to Promise.all.

    Returns

    a [[CancellablePromise]], which, if canceled, will cancel each of the promises passed in to CancellablePromise.all.

    Type Parameters

    • T1

    • T2

    • T3

    • T4

    • T5

    • T6

    Parameters

    • values: readonly [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>]

      an array that may contain CancellablePromises, promises, thenables, and resolved values

    Returns CancellablePromise<[T1, T2, T3, T4, T5, T6]>

  • Analogous to Promise.all.

    Returns

    a [[CancellablePromise]], which, if canceled, will cancel each of the promises passed in to CancellablePromise.all.

    Type Parameters

    • T1

    • T2

    • T3

    • T4

    • T5

    Parameters

    • values: readonly [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>]

      an array that may contain CancellablePromises, promises, thenables, and resolved values

    Returns CancellablePromise<[T1, T2, T3, T4, T5]>

  • Analogous to Promise.all.

    Returns

    a [[CancellablePromise]], which, if canceled, will cancel each of the promises passed in to CancellablePromise.all.

    Type Parameters

    • T1

    • T2

    • T3

    • T4

    Parameters

    • values: readonly [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>]

      an array that may contain CancellablePromises, promises, thenables, and resolved values

    Returns CancellablePromise<[T1, T2, T3, T4]>

  • Analogous to Promise.all.

    Returns

    a [[CancellablePromise]], which, if canceled, will cancel each of the promises passed in to CancellablePromise.all.

    Type Parameters

    • T1

    • T2

    • T3

    Parameters

    • values: readonly [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>]

      an array that may contain CancellablePromises, promises, thenables, and resolved values

    Returns CancellablePromise<[T1, T2, T3]>

  • Analogous to Promise.all.

    Returns

    a [[CancellablePromise]], which, if canceled, will cancel each of the promises passed in to CancellablePromise.all.

    Type Parameters

    • T1

    • T2

    Parameters

    • values: readonly [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>]

      an array that may contain CancellablePromises, promises, thenables, and resolved values

    Returns CancellablePromise<[T1, T2]>

  • Analogous to Promise.all.

    Returns

    a [[CancellablePromise]], which, if canceled, will cancel each of the promises passed in to CancellablePromise.all.

    Type Parameters

    • T

    Parameters

    • values: readonly (T | PromiseLike<T>)[]

      an array that may contain CancellablePromises, promises, thenables, and resolved values

    Returns CancellablePromise<T[]>

  • Creates a CancellablePromise that is resolved with an array of results when all of the provided Promises resolve or reject.

    Returns

    A new CancellablePromise.

    Type Parameters

    • T extends readonly unknown[] | readonly [unknown]

    Parameters

    • values: T

      An array of Promises.

    Returns CancellablePromise<{ -readonly [ P in string | number | symbol]: PromiseSettledResult<T[P] extends PromiseLike<U> ? U : T[P]> }>

  • Creates a CancellablePromise that is resolved with an array of results when all of the provided Promises resolve or reject.

    Returns

    A new CancellablePromise. Canceling it cancels all of the input promises.

    Type Parameters

    • T

    Parameters

    • values: Iterable<T>

      An array of Promises.

    Returns CancellablePromise<PromiseSettledResult<T extends PromiseLike<U> ? U : T>[]>

  • Creates a CancellablePromise that is resolved or rejected when any of the provided Promises are resolved or rejected.

    Returns

    A new CancellablePromise. Canceling it cancels all of the input promises.

    Type Parameters

    • T extends [] | readonly unknown[]

    Parameters

    • values: T

      An array of Promises.

    Returns CancellablePromise<Awaited<T[number]>>

  • Analogous to Promise.reject.

    Like CancellablePromise.resolve, canceling the returned CancellablePromise is a no-op.

    Type Parameters

    • T

    Parameters

    • Optional reason: unknown

      this should probably be an Error object

    Returns CancellablePromise<T>

Generated using TypeDoc