Omni Async

Asynchronous state for JavaScript, TypeScript, React, Vue, and Svelte.

Omni Async shares request ordering and cancellation rules across runtimes. The standalone core operation owns observable state for JavaScript and TypeScript; React, Vue, and Svelte adapters own state through their native reactivity models.

Get started

Create your first async operation or framework query.

Understand state

Learn the state lifecycle, concurrency modes, and cancellation behavior.

Choose an adapter

Use Omni Async with React, Vue, or Svelte.

API reference

Browse the core types and options.

Why Omni Async?

  • Shared request rules — adapters use the same request ordering and cancellation semantics.
  • Separate state fields — consume data, error, loading state, and status independently.
  • Typed parameters and data — handlers determine trigger arguments and result types.
  • Explicit concurrency — keep all requests active or let only the latest update state.
  • Cancellation — abort supported work and prevent stale requests from updating state.
  • Custom equality — suppress notifications when an update is not meaningful to your application.

Packages

PackagePurpose
omni-asyncUnified API with framework-specific subpaths
@omni-async/coreDependency-free async operation primitive
@omni-async/reactReact hooks using React-owned state
@omni-async/vueVue composables backed by refs and computed state
@omni-async/svelteSvelte readable stores and lifecycle helpers

Continue with the quick start.