Skip to content

createPromiseMachine

createPromiseMachine<F>(makePromise?: F): PromiseMachine<F>

Defined in: promise-machine-impl.ts:62

Creates a state machine for managing promise lifecycles. Handles Idle, Pending, Resolved, and Rejected states, and transitions for executing, resolving, and rejecting promises.

Usage:

const machine = createPromiseMachine((...args) => fetch(...args));
machine.execute(url).then(...).catch(...);
machine.getState().match({
Idle: () => console.log("No promise running"),
Pending: ({ promise }) => console.log("Promise is executing", promise),
Resolved: (data) => console.log("Promise resolved with data", data),
Rejected: (error) => console.error("Promise rejected with error", error),
});
Type ParameterDefault typeDescription
F extends PromiseCallbackPromiseCallbackThe promise factory function type.
ParameterTypeDescription
makePromise?FOptional factory function to create a promise. If omitted, execute will throw.

PromiseMachine<F>

A PromiseMachine instance with an execute method to run the promise and manage its state.