Skip to main content

Overview

Handles the Err case of a ResultAsync by applying a recovery function. Useful for error recovery, fallbacks, and error transformation.

Signature

(e: E) => Result<U, A> | ResultAsync<U, A>
required
Function that takes the Err value and returns a new Result or ResultAsync
Returns: ResultAsync<U | T, A> - A ResultAsync with potentially recovered value

Usage

Simple fallback

Conditional recovery

Multi-tier fallback

Key characteristics

  • Only runs on Err: If the ResultAsync is Ok, orElse is not executed
  • Can change type: The recovery function can return a different value type
  • Error type changes: The new error type replaces the original
Use orElse to implement graceful degradation in your async operations.

andThen

Chain successful operations

unwrapOr

Provide a simple default value