Найти тему
ZD Createch

Асинхронный JavaScript для начинающих

Асинхронность - одна из самых интересных и важных особенностей JavaScript, позволяющая создавать динамичные и быстрые веб-приложения. Она же является одним из препятствий для многих начинающих разработчиков. Преодолеем его вместе!

Источник изображения: https://yandex.ru/
Источник изображения: https://yandex.ru/

Если Вы уже некоторое время изучаете JavaScript, то наверняка сталкивались с асинхронностью, видели примеры колбеков, синтаксис Promises, читали о преимуществах и недостатках async/await. Однако, если прочитанные до сих пор материалы казались бессмысленными и путанными, и Вам так и не стало понятнее, в чем состоит цель асинхронного кода, как его писать, почему иногда код работает, а иногда - нет, то, возможно, этот туториал станет тем самым "щелчком" после которого все станет на свои места.

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

Одна из частых причин затруднений - многие учебные материалы не делают акцент на главной цели асинхронного кода: сделать приложение быстрым и отзывчивым. Кроме того, очень часто приводятся трудночитаемые примеры, основанные на setTimeout(), и сухие, "круглые" объяснения.

Давайте сделаем небольшой шаг назад, поговорим о природе асинхронного кода, его предназначении и синтаксисе. Мы напишем свою собственную асинхронную функцию, и выполним практическое задание в серверной и клиентской частях: построим небольшой HTTP-сервер на Node.js, асинхронно читающий данные из файловой системы, и напишем AJAX-приложение, асинхронно загружающее список постов из API.

Переходите по ссылке, оставляйте комментарии!

Удачи!