API reference@evolu/commonTask › timeout

function timeout<T, E, D>(
  task: Task<T, E, D>,
  duration: Duration,
  __namedParameters?: {
    abortReason?: unknown;
  },
): Task<T, E | TimeoutError, D>;

Defined in: packages/common/src/Task.ts:1871

Wraps a Task with a time limit.

Returns TimeoutError if the Task doesn't complete within the specified duration. The original Task is aborted when the timeout fires.

Example

const fetchWithTimeout = timeout(fetchData, "5s");

const result = await run(fetchWithTimeout);
if (!result.ok && result.error.type === "TimeoutError") {
  console.log("Request timed out");
}