1. Пример использования Promise и async/await:

 

function getGreeting() {

    return new Promise((resolve) => {

        setTimeout(() => {

            resolve("Добро пожаловать в систему!");

        }, 1000);

    });

}

 

async function showGreeting() {

    const message = await getGreeting();

    console.log(message);

}

 

showGreeting();

 

Результат:

 

Через одну секунду в консоли появляется сообщение:

 

Добро пожаловать в систему!

 

 

2. Пример получения новостей с сервера:

 

async function loadNews() {

    try {

        const response = await fetch("/api/news");

 

        if (!response.ok) {

            throw new Error("Ошибка HTTP: " + response.status);

        }

 

        const news = await response.json();

 

        console.log(news);

    } catch (error) {

        console.log("Ошибка загрузки:", error.message);

    }

}

 

loadNews();

 

Результат:

 

При успешном запросе программа выводит JSON-данные, полученные от сервера.

 

При ошибке отображается соответствующее сообщение.

 

Для работы примера необходим серверный API /api/news.

 

 

3. Пример отображения состояния загрузки:

 

HTML-код:

 

<button id="loadButton">Загрузить данные</button>

<p id="status"></p>

 

JavaScript-код:

 

const button = document.querySelector("#loadButton");

const status = document.querySelector("#status");

 

function waitForData() {

    return new Promise((resolve) => {

        setTimeout(() => {

            resolve("Данные загружены");

        }, 2000);

    });

}

 

button.addEventListener("click", async function() {

    button.disabled = true;

    status.textContent = "Загрузка...";

 

    try {

        const result = await waitForData();

        status.textContent = result;

    } finally {

        button.disabled = false;

    }

});

 

Результат:

 

После нажатия кнопки появляется сообщение:

 

Загрузка...

 

Через две секунды сообщение изменяется на:

 

Данные загружены

 

На время ожидания кнопка отключается, чтобы предотвратить повторный запуск операции.