курс

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

2224 студента 797 сообщений
Последнее обновление: 27 марта 2023
Курс JS: Разработка абстракций для асинхронности
3 900 ₽ в месяц
за все курсы Хекслета
Зарегистрироваться
  • Тренажер с практикой
  • Бессрочный доступ к теории
  • Асинхронный формат обучения

Включено в курс

8 уроков (видео и/или текст)
8 упражнений в тренажере
20 проверочных тестов
Помощь в «Обсуждениях»
Доступ к остальным курсам платформы

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

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

Описание

На этом курсе вы изучите разработку абстракций для асинхронности. Вы узнаете больше о таймерах, event loop и event emitter. В итоге научитесь работать с ошибками в асинхронном коде и использовать таймеры. Это пригодится, если вы решите сделать код более прямолинейным и предсказуемым. Курс подойдет программистам, которые уже знакомы с асинхронным программированием. Чтобы учиться было проще, стоит заранее изучить курс JS: Асинхронное программирование.

Программа курса

Продолжительность 9 часов
  • 1

    Введение

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

    Event loop

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

    тесты

    упражнение

  • 3

    Таймеры

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

    тесты

    упражнение

  • 4

    Callback hell

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

    тесты

    упражнение

  • 5

    Функция each

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

    упражнение

  • 6

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

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

    тесты

  • 7

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

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

    тесты

    упражнение

  • 8

    Event emitter

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

    тесты

    упражнение

  • 9

    Дополнительные материалы

    Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса

Формат обучения

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже

#
Задание
% завершений

Отзывы

Аватар пользователя Владислав Филатов
Владислав Филатов 19 февраля 2019

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


Аватар пользователя Slava Kaderkin
Slava Kaderkin 01 декабря 2020

Курс полезен в качестве проверки, как зашла асинхронность за время прохождения профессии. Вроде я застал только новую асинхронность на Хекслете, поэтому было интересно — чего тут все так боялись.

На удивление курс залетел, как по маслу. Повторил и закрепил, очень доволен. На мой взгляд, про EventEmitter и в новой асинхронности не мешало бы упомянуть. Он мельком всплывает то тут, то там. Например, в серверах в профе node.js упоминалось про него, а я не мог понять, о чем речь.


Аватар пользователя Александр  Вериго
Александр Вериго 30 декабря 2018

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


Аватар пользователя Volodymyr Vovk
Volodymyr Vovk 26 августа 2018

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

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