# Systems

Systems are nothing but a specialized combination of a few Units, a System creates a few predefined relationships among its member Units to make them part of a whole.

While the Units are storage mediums, Systems are task helpers.

A System tries to accomplish a specific type of task (*that has multiple aspects to it, and hence requiring multiple Units to work in cohesion*) in a reactive and shared fashion, such as data fetching using `XHR` API, or `fetch` API. Both of these APIs or any other asynchronous API more or less involve a **query**, a successful **response**, an **error**, and **pending-status** of the task.&#x20;

The [AsyncSystem](/activejs/fundamentals/systems/asyncsystem.md) is the System that is built to help with these kinds of asynchronous APIs.

{% content-ref url="/pages/-M6aLGid7csUtSOcDjGY" %}
[AsyncSystem](/activejs/fundamentals/systems/asyncsystem.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.activejs.dev/activejs/fundamentals/systems.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
