# coordinated-async-operation

Orchestrator for multiple related async processes, exposing aggregate state across the group.

[`CoordinatedAsyncProcess`](https://www.hyperfrontend.dev/docs/libraries/state-machine/coordinated-async-operation/#api-CoordinatedAsyncProcess) wraps a set of [`AsyncOperation`](https://www.hyperfrontend.dev/docs/libraries/state-machine/async-operation/#api-AsyncOperation) instances and presents them as one unit: lifecycle actions ([`start`](https://www.hyperfrontend.dev/docs/libraries/state-machine/actions/#api-start), [`pause`](https://www.hyperfrontend.dev/docs/libraries/state-machine/actions/#api-pause), [`cancel`](https://www.hyperfrontend.dev/docs/libraries/state-machine/actions/#api-cancel)) fan out to every member; selectors ([`inProgress`](https://www.hyperfrontend.dev/docs/libraries/state-machine/selectors/#api-inProgress), [`done`](https://www.hyperfrontend.dev/docs/libraries/state-machine/selectors/#api-done), [`failed`](https://www.hyperfrontend.dev/docs/libraries/state-machine/selectors/#api-failed), ...) report the group-level state derived from the constituents. Use this when an application step depends on several async pieces completing together (fetching a record and its related entities, say) and you want a single object to render against rather than coordinating the individual processes by hand.

---

Canonical page: https://www.hyperfrontend.dev/docs/libraries/state-machine/coordinated-async-operation/
This file: https://www.hyperfrontend.dev/docs/libraries/state-machine/coordinated-async-operation.md
Documentation index: https://www.hyperfrontend.dev/llms.txt
