Чаще всего асинхронность нужна, чтобы получить данные с сервера. Встроенная функция fetch делает HTTP-запрос и возвращает промис:
async function getUsers() { const res = await fetch("https://api.example.com/users"); const users = await res.json(); // разобрать JSON-ответ console.log(users); }
Два await здесь не случайны: сначала ждём ответ сервера, затем ждём, пока тело ответа разберётся из JSON в объект.
Чтобы отправить данные (создать запись), указывают метод и тело:
await fetch("https://api.example.com/users", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ name: "Аня" }), });
Так фронтенд общается с бэкендом. Подробнее про HTTP-методы и коды ответов — в курсе про REST API.