Асинхронность.
Js однопоточный, интерпретатор выполняет код последовательно: строчка за строчкой, команда за командой. Поэтому если у вас есть какие-то сложные расчеты, то пока они не выполняться, весь следующий код не отработает. Все вроде бы логично, но как быть, если нам нужно отправить запрос на сервер или провести какую-то асинхронную операцию, в таком случае js обращается за помощью к Web API, благодаря нему мы и получаем доступ ко всей асинхроннщине в языке
Существует call stack, который отвечает за выполнение кода, когда туда попадает какой-то асинхронный колбэк, то он передаётся Web API, который производит нужные операции и помещает коллбэк в очередь коллбэков (callback queue). Отдельно стоит отметить event loop — это цикл, который следит за стеком вызовов, и если он пуст, то он помещает туда коллбэк из очереди и он выполняется. Для закрепления советую посмотреть небольшое видео:
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram