Написание асинхронных функций; try/catch; параллельное и последовательное выполнение
Создавайте асинхронные функции, ожидайте результаты, перехватывайте ошибки и сравнивайте последовательные и параллельные подходы
«Написание асинхронных функций; try/catch; параллельное и последовательное выполнение» — бесплатный урок JavaScript Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения JavaScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс JavaScript Academy содержит 3 уроков всего.
Введение в асинхронность и ожидание
Цель: безопасно использовать асинхронные функции и ожидание.
- Создание асинхронных функций
- Ожидание значений
- Обработка ошибок
- Параллельное и последовательное выполнение

Небольшой помощник для промиса
Создайте небольшой помощник на основе промиса, чтобы проверять операции ожидания.
// delay returns a Promise that resolves after ms
function delay(ms, value) {
return new Promise(function (resolve) {
setTimeout(function () { resolve(value); }, ms);
});
}
// Example usage
delay(10, "ok").then(function (v) {
console.log("delay:", v);
});

Основы асинхронных функций
Асинхронная функция возвращает промис; внутри неё можно дожидаться результатов.
// An async function can use await inside
async function greet() {
const name = await delay(5, "Ayla");
console.log("Hello,", name);
}
// Call it
greet();

Обработка ошибок при ожидании
Оборачивайте операции ожидания в конструкцию обработки ошибок, если шаг может завершиться отклонением.
// Simulate a failing task
function failAfter(ms, message) {
return new Promise(function (resolve, reject) {
setTimeout(function () { reject(new Error(message)); }, ms);
});
}
async function runSafe() {
try {
const v = await failAfter(5, "boom");
console.log("Value:", v);
} catch (e) {
console.log("Caught:", e.message);
}
}
runSafe();

Последовательный шаблон
Последовательное выполнение: каждая операция ожидания ждёт завершения предыдущей, поэтому длительности складываются.
// Sequential: total time ~ A + B
async function sequential() {
const a = await delay(8, "A");
const b = await delay(8, "B");
console.log("seq:", a + b);
}
sequential();

Параллельное выполнение с all
Параллельное выполнение: сначала запустите задачи, затем дождитесь Promise.all; общее время примерно равно max(A, B).
// Parallel: start both, then await together
async function parallel() {
const pa = delay(8, "A");
const pb = delay(8, "B");
const results = await Promise.all([pa, pb]);
console.log("par:", results.join(""));
}
parallel();

Проверка параллельного и последовательного выполнения
Быстрая проверка: какой шаблон быстрее для независимых задач?

Повторение
Повторение: вы написали асинхронные функции, дождались значений, обработали ошибки и сравнили последовательное ожидание с более быстрым параллельным выполнением через Promise.all.

Часто задаваемые вопросы
Урок «Написание асинхронных функций; try/catch; параллельное и последовательное выполнение» бесплатный?
Да — полный текст урока «Написание асинхронных функций; try/catch; параллельное и последовательное выполнение» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс JavaScript Academy, подпишись на CoddyKit PRO. Курс JavaScript Academy содержит 3 уроков всего.
Чему я научусь в уроке «Написание асинхронных функций; try/catch; параллельное и последовательное выполнение»?
Создавайте асинхронные функции, ожидайте результаты, перехватывайте ошибки и сравнивайте последовательные и параллельные подходы Ты практикуешь JavaScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать JavaScript Academy?
Предыдущий опыт не требуется. JavaScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.
Сколько времени занимает урок «Написание асинхронных функций; try/catch; параллельное и последовательное выполнение»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке JavaScript Academy?
Да. Каждый урок JavaScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Написание асинхронных функций; try/catch; параллельное и последовательное выполнение
- Тайм-ауты и отмена с AbortController
- Повторные попытки и экспоненциальная задержка