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;
}
});
Результат:
После нажатия
кнопки появляется сообщение:
Загрузка...
Через две секунды
сообщение изменяется на:
Данные загружены
На время ожидания
кнопка отключается, чтобы предотвратить повторный запуск операции.