0Pricing
JavaScript Academy · Урок

Написание асинхронных функций; try/catch; параллельное и последовательное выполнение

Создавайте асинхронные функции, ожидайте результаты, перехватывайте ошибки и сравнивайте последовательные и параллельные подходы

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

Введение в асинхронность и ожидание

Цель: безопасно использовать асинхронные функции и ожидание.

  • Создание асинхронных функций
  • Ожидание значений
  • Обработка ошибок
  • Параллельное и последовательное выполнение
Написание асинхронных функций; try/catch; параллельное и последовательное выполнение — иллюстрация 1

Небольшой помощник для промиса

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

// 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);
});
Написание асинхронных функций; try/catch; параллельное и последовательное выполнение — иллюстрация 2

Основы асинхронных функций

Асинхронная функция возвращает промис; внутри неё можно дожидаться результатов.

// An async function can use await inside
async function greet() {
  const name = await delay(5, "Ayla");
  console.log("Hello,", name);
}

// Call it
greet();
Написание асинхронных функций; try/catch; параллельное и последовательное выполнение — иллюстрация 3

Обработка ошибок при ожидании

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

// 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();
Написание асинхронных функций; try/catch; параллельное и последовательное выполнение — иллюстрация 4

Последовательный шаблон

Последовательное выполнение: каждая операция ожидания ждёт завершения предыдущей, поэтому длительности складываются.

// 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();
Написание асинхронных функций; try/catch; параллельное и последовательное выполнение — иллюстрация 5

Параллельное выполнение с 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();
Написание асинхронных функций; try/catch; параллельное и последовательное выполнение — иллюстрация 6

Проверка параллельного и последовательного выполнения

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

Написание асинхронных функций; try/catch; параллельное и последовательное выполнение — иллюстрация 7

Повторение

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

Написание асинхронных функций; try/catch; параллельное и последовательное выполнение — иллюстрация 8

Часто задаваемые вопросы

Урок «Написание асинхронных функций; 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 — локальная установка не требуется.

Все уроки этого курса

  1. Написание асинхронных функций; try/catch; параллельное и последовательное выполнение
  2. Тайм-ауты и отмена с AbortController
  3. Повторные попытки и экспоненциальная задержка
← Назад к JavaScript Academy