PRO курс

JS: Разработка абстракций для асинхронности

730 сообщений в сообществе 1766 учащихся

Асинхронное программирование не просто само по себе. Особенно на колбеках. Для упрощения написания такого кода, существуют специальные библиотеки, предоставляющие массу полезных функций. Эти функции помогают сделать код более прямолинейным и предсказуемым. В этом курсе, помимо глубокого изучения асинхронности, происходит создание подобной библиотеки.

Чему вы научитесь:

  • Не бояться задач любой сложности. Сложнее уже не будет
  • Делать сложные вещи простыми, а простые приятными
  • Жонглировать колбеками аки бог
ад колбеков event loop
Последнее обновление: 17 марта 2020

Уроки курса

  • 1

    Введение

    Познакомиться с идеей асинхронного программирования и со структурой курса.
  • 2

    Event loop

    Познакомиться с event loop — концепцией, позволяющей реализовывать асинхронное программирование в браузере с использованием событийной модели.

    тесты

    упражнение

  • 3

    Таймеры

    Рассмотреть механизм таймеров, предоставляемый средой исполнения JS. Изучить простой пример использования таймеров для выполнения синхронных задач асинхронно.

    тесты

    упражнение

  • 4

    Callback hell

    Познакомиться с пугающей ситуацией "callback hell", которая может возникнуть при наличии зависимых асинхронных вызовов и нескольких функций обратного вызова. Научиться справляться с этой проблемой, рассмотреть технику waterfall.

    тесты

    упражнение

  • 5

    Функция each

    Продолжить разработку библиотеки для работы с асинхронным кодом, написать функцию 'each'.

    упражнение

  • 6

    Раннее связывание

    Познакомиться с методом сохранения контекста для асинхронных вызовов.

    тесты

  • 7

    Работа с ошибками

    Научиться работать с ошибками в асинхронном коде, понять отличия от обработки ошибок в синхронном коде.

    тесты

    упражнение

  • 8

    Event emitter

    Познакомиться с концепцией event emitters, применение которой бывает очень полезно в приложениях с асинхронным кодом.

    тесты

    упражнение

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки.

Автор

Аватар пользователя Kirill Mokevnin

Кирилл Мокевнин

Сооснователь и CEO образовательного проекта Хекслет. Программирую с 2007 года. За это время прошёл путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков.

  • Программирую на языках: Elixir, Clojure, JavaScript, PHP, Ruby.
  • Соорганизатор конференции Nastachku.ru.
  • Вимер.
  • Топлю за DevOps и автоматизированные тесты.

Впечатления

Урок: Введение

Как круто такие курсы находить, это как пасхалка в играх)) Большое спасибо, что оставили его, чувствую что асинхронность нужно подтянуть и тут этот курс)

Урок: Event emitter

Отличный курс! Даже несмотря на то, что он уже заменен другим, очень помог разобраться с callback'ами! Спасибо

Урок: Event loop

Какое же лаконичное решения учителя в сравнении с моим. Очень классный подход не использовать в редьюсе current значение (даже не думал о таком), а только индекс для двух файлов(тогда не надо реверсировать массив)

А, еще класно вместо проверок на каждой итерации просто замапить потом и поменять undefined на null

Курс JS: Разработка абстракций для асинхронности
продолжительность
9 часов
награда
44 балла