Урок 6.9. Макрозадачи (Macrotasks) + Микрозадачи (Microtasks) / Лайфхаки

9 подписчиков

12+
12+

3 просмотра

13 дней назад

ПожаловатьсяНарушение авторских прав

9 подписчиков

12+
12+

3 просмотра

13 дней назад

ПожаловатьсяНарушение авторских прав
12+
12+

3 просмотра

13 дней назад

Клон плейлиста на Яндекс.Дзен: https://dzen.ru/suite/3764854c-4f30-4e4e-8af9-d6a8f7be0988?share_to=link 🔴 Timecode: ▶ 00:03 || Макро- и микрозадачи ▶ 10:15 || Лайфхаки: setImmediate ▶ 10:57 || Лайфхаки: еще раз про Promise.all() ▶ 16:03 || Лайфхаки: Promise.race() ▶ 18:25 || Лайфхаки: "for await... of" и функции-генераторы В этом уроке мы погружаемся в глубины асинхронности в JavaScript и разбираем ключевые концепции, которые управляют порядком выполнения асинхронного кода: макрозадачи (macrotasks) и микрозадачи (microtasks). Понимание этих механизмов важно для написания эффективного и предсказуемого асинхронного кода. Что вы узнаете из этого урока: 1. Что такое макрозадачи и микрозадачи: - Макрозадачи — это крупные задачи, такие как выполнение синхронного кода, обработка событий, вызовы setTimeout и setInterval. - Микрозадачи — это мелкие задачи, которые выполняются сразу после текущей макрозадачи, например, обработка промисов (Promise.then, async/await). 2. Как работает Event Loop: - Event Loop управляет выполнением задач, разделяя их на макрозадачи и микрозадачи. - Сначала выполняется весь синхронный код (макрозадача), затем все микрозадачи, и только после этого — следующая макрозадача. 3. Практические примеры: - Разбор порядка выполнения кода с использованием setTimeout, Promise и async/await. - Примеры вложенных макрозадач и микрозадач, созданных внутри промисов и асинхронных функций. 4. Лайфхаки: - Как использовать setTimeout с нулевой задержкой для отложенного выполнения. - Как правильно работать с Promise.all и избегать проблем с большими объемами данных. - Как использовать Promise.race для выполнения самого быстрого промиса. - Как применять генераторы и "for await...of" для работы с асинхронными итерируемыми сущностями. Почему это важно: - Понимание макрозадач и микрозадач помогает писать более эффективный и предсказуемый асинхронный код. - Вы научитесь управлять порядком выполнения задач и избегать распространенных ошибок, связанных с асинхронностью. Для кого этот урок: - Для тех, кто уже знаком с основами JavaScript и асинхронным программированием. - Для разработчиков, которые хотят глубже понять, как работает Event Loop и управление задачами в JavaScript. Ключевые выводы: 1. Синхронный код выполняется как одна макрозадача. 2. Микрозадачи выполняются сразу после текущей макрозадачи, даже если есть другие макрозадачи в очереди. 3. Промисы — это микрозадачи, а setTimeout и setInterval — макрозадачи. 4. Генераторы и "for await...of" позволяют эффективно работать с асинхронными итерируемыми сущностями. Смотрите урок, чтобы разобраться во всех тонкостях и научиться применять эти знания на практике! 🚀 🔗 Документация по функциям-генераторам: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/function* https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/yield 🔗 Документация по "for await... of": https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of 🔗Документация по Promise.race(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/race Почитать на эту тему можно здесь: 🔗 https://doka.guide/js/micro-and-macro-tasks/ 🔗 https://habr.com/ru/articles/681882/ 🔗https://learn.javascript.ru/microtask-queue #микрозадачи #макрозадачи #promisesJS

Название:

Урок 6.9. Макрозадачи (Macrotasks) + Микрозадачи (Microtasks) / Лайфхаки

Категория:

Разное