• Creates an object that provides a way to handle the result of a Promise. The object has a single method called case which takes an object with three optional methods: resolved, rejected, and pending. The appropriate method will be called based on the state of the promise.

    Type Parameters

    • T

    Parameters

    • promise: Promise<T>

      The promise to handle.

    Returns {
        case: ((param0) => Promise<void>);
    }

    An object with a single method called case.

    • case: ((param0) => Promise<void>)
        • (param0): Promise<void>
        • Parameters

          • param0: {
                pending?: (() => void);
                rejected?: ((error) => void);
                resolved?: ((value) => void);
            }
            • Optional pending?: (() => void)
                • (): void
                • Returns void

            • Optional rejected?: ((error) => void)
                • (error): void
                • Parameters

                  • error: Error

                  Returns void

            • Optional resolved?: ((value) => void)
                • (value): void
                • Parameters

                  • value: T

                  Returns void

          Returns Promise<void>

    Example

    const promise = new Promise((resolve, reject) => {
    setTimeout(() => {
    resolve("Hello, world!");
    }, 1000);
    });

    const fromPromiseResult = fromPromise(promise);

    await fromPromiseResult.case({
    resolved: (value) => {
    console.log("Resolved:", value); // Resolved: Hello, world!
    },
    rejected: () => {
    console.log("Rejected");
    },
    pending: () => {
    console.log("Pending"); // Pending
    },
    });