Обложка канала

Frontend Головного Мозга

Настоящий клондайк для frontend-разработчиков.

Frontend Головного Мозга

4 года назад
Открыть в
Асинхронность в JS Что такое Event loop, при чём здесь Web API, и как работают промисы и async/await Синхронный код и его проблемы Представим, что нам нужно выполнить какую-то операцию, например, напечатать в консоли приветствие, но не сразу, а через 5 секунд. Если бы мы запустили синхронную функцию задержки delay(), то движок бы ничем другим заниматься в это время не мог. Асинхронный код Теперь попробуем решить эту же задачу, но так, чтобы наш код не блокировал выполнение. Для этого мы воспользуемся функцией setTimeout(). Задача решена. Однако, в этот раз, в эти «5 секунд молчания» мы можем выполнять другие действия. Возникает несколько вопросов: ✔️Почему вторая строка кода выполнилась до первой, если JS однопоточный? ✔️Куда девается setTimeout() на время, пока выполняется другой код? ✔️Как движок понимает, что пора выводить Hello? Далее мы рассмотрим следующее: 👉 Стек вызовов 👉 Цикл событий 👉 Ад колбэков 👉 Промисы 👉 Асинхронные функции 👉 Читать статью полностью #статья #js 👉 @frontend_mind