Search


Search something to see results

CancellablePromise

This example shows off how TypeDoc handles

  • Complex method signatures
  • Static methods
  • A method with 10 overload signatures. Wow!
    • Only the implementation signature has a doc comment. TypeDoc automatically copies the comment from the implementation signature to each of the visible signatures if they don't have one.

A promise with a cancel method. If canceled, the CancellablePromise will reject with a Cancellation object. Originally from real-cancellable-promise.

Type Parameters

  • T

    what the CancellablePromise resolves to

Index

Constructors

Properties

Methods

Descriptions can be added for groups with @groupDescription, which will show up in the index where groups are listed. This works for both manually created groups which are created with @group, and implicit groups like the Methods group that this description is attached to.

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.

Returns CancellablePromise<T>

Properties

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.

cancel: (reason?: string) => void

Cancel the CancellablePromise.

Methods

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.

Type Parameters

  • TResult1 = T
  • TResult2 = never

Parameters

Returns CancellablePromise<TResult1 | TResult2>

a new CancellablePromise

Analogous to Promise.catch.

Type Parameters

  • TResult = never

Parameters

  • OptionalonRejected: 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.

Parameters

  • OptionalonFinally: null | (() => void)

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

Returns CancellablePromise<T>

A Promise for the completion of the callback.

Analogous to Promise.resolve.

The returned promise should resolve even if it is canceled. The idea is that the promise is resolved instantaneously, so by the time the promise is canceled, it has already resolved.

Returns CancellablePromise<void>

Analogous to Promise.resolve.

The returned promise should resolve even if it is canceled. The idea is that the promise is resolved instantaneously, so by the time the promise is canceled, it has already resolved.

Type Parameters

  • T

Parameters

  • value: T

Returns CancellablePromise<T>

Analogous to Promise.reject.

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

Type Parameters

  • T

Parameters

  • Optionalreason: unknown

    this should probably be an Error object

Returns CancellablePromise<T>

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>,
    ]

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

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>,
    ]

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

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>,
    ]

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

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>,
    ]

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

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>,
    ]

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

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>,
    ]

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

Type Parameters

  • T1
  • T2
  • T3
  • T4

Parameters

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

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

Type Parameters

  • T1
  • T2
  • T3

Parameters

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

Returns CancellablePromise<[T1, T2, T3]>

Type Parameters

  • T1
  • T2

Parameters

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

Returns CancellablePromise<[T1, T2]>

Type Parameters

  • T

Parameters

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

Returns CancellablePromise<T[]>

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

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<P>] extends PromiseLike<U> ? U : T[P<P>],
        >
    },
>

A new CancellablePromise.

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

Type Parameters

  • T

Parameters

  • values: Iterable<T>

    An array of Promises.

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

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

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

Type Parameters

  • T

Parameters

  • values: readonly T[]

    An array of Promises.

Returns CancellablePromise<Awaited<T>>

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

Parameters

  • ms: number

Returns CancellablePromise<void>

a CancellablePromise that resolves after ms milliseconds.