Как работает Event Loop в JavaScript + примеры

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ก.ย. 2024

ความคิดเห็น • 95

  • @YuriiKratser
    @YuriiKratser 2 ปีที่แล้ว +22

    Лен, спасибо тебе большое! Всегда рад твоему контенту. Ты всегда затрагиваешь глубокие, сочные темы в js. Уважение тебе.

    • @webelart
      @webelart  2 ปีที่แล้ว +2

      Юра, спасибо за комментарий, очень приятно! ❤️

  • @dr.margulis7773
    @dr.margulis7773 2 ปีที่แล้ว +10

    Одно из самых нужных, подробных и важных видео на канале. Спасибо, Елена. 👍👍👍👏

    • @webelart
      @webelart  2 ปีที่แล้ว

      😍❤️

  • @ктоэто-е1ъ
    @ктоэто-е1ъ 2 ปีที่แล้ว +4

    Это шедевр. Дошло не с первого раза. пересмотрел раза 3, и попутно перематывая на 2-3 минуты назад, потеряв связь. Но оно дошло. Ребятушки, всем советую.

    • @АндрейАндреев-п8м4ю
      @АндрейАндреев-п8м4ю 2 ปีที่แล้ว +1

      Пытается объяснить вещи на языке понятном уже тем людям, которым это разъяснять вообще не надо. ЗАЧЕМ🤯 Что #происходитслюдьмидура.

    • @ктоэто-е1ъ
      @ктоэто-е1ъ 2 ปีที่แล้ว

      @@АндрейАндреев-п8м4ю ну тут я не соглашусь, мне очень даже зашло, пусть и не сразу. А какие слова непонятны?

  • @andreinebolei
    @andreinebolei 2 ปีที่แล้ว +8

    Очень понятно объясняете, продолжайте пожалуйста!

  • @kokochomuchacho3619
    @kokochomuchacho3619 ปีที่แล้ว +2

    Это самое лучшее обьяснение лупа. Два дня сидел читал статьи, но во всех оставался осадочек недопонимания, а после просмотра вашего видео могу с чистой совестью сказать что все понял. Лучшая, я подписался

    • @webelart
      @webelart  ปีที่แล้ว

      Есть ещё одно th-cam.com/video/kZFLHCz2a30/w-d-xo.html
      Оно более расширенное с хорошей практикой. Рекомендую следующим ещё для большего понимания :)

  • @maxet2374
    @maxet2374 2 ปีที่แล้ว +3

    оч полноценное и полезное видео

  • @eugenebrowsk3624
    @eugenebrowsk3624 2 ปีที่แล้ว +5

    Случайно попал на канал. Очень годный контент👍
    Странно что так мало подписчиков.

  • @boardsofdagestan
    @boardsofdagestan 2 ปีที่แล้ว +16

    Не раскрыта тема микро и макротасков - промисы и, например, колбеки из таймаутов отправляются в совершенно разные очереди. Выполнение задач из микротасков имеет приоритет перед появившимися новыми задачами в макротасках.

    • @webelart
      @webelart  2 ปีที่แล้ว +5

      Здесь ещё надо погружаться, чтобы лучше разобраться. Поэтому пока вот такое первое приближение. Я думаю в будущем покрою эту тему более широко. Спасибо за комментарий!

    • @YuriiKratser
      @YuriiKratser 2 ปีที่แล้ว +2

      Лена, ты не пугайся этому комменту. Просто сейчас вопрос про ивент луп входит в топ 3. И каждый маломальский мидл является в этой теме экспертом.

    • @webelart
      @webelart  2 ปีที่แล้ว +5

      @@YuriiKratser Всё нормуль :))) А если тема входит в топ, то это вообще огнище! 😍

  • @MrKu39
    @MrKu39 2 ปีที่แล้ว +8

    Отличное видео ! Понравилась подача столь важной и нужной темы. Еще бы добавить информацию про макро и микротаски и было бы вообще шикарно ! Спасибо !

  • @olegdegterov1595
    @olegdegterov1595 2 ปีที่แล้ว +2

    Елена спасибо за хорошее видео. По пункту 7 события, такие как обработчики событий onKlick, могут заблокировать код (в части того что прилетает в web api) т.к. они добавляются в web api после идут в macrotask queue и после по очереди в call stack. И если их очень большое количество, то события которые тоже поступают по такому пути (web api после идут в macrotask queue и после по очереди в call stack.) будут выполнены после множества onClick. Таким образом performance будет не очень)

    • @andTutin
      @andTutin ปีที่แล้ว

      всё не так. заблокировать поток могут микротаски, а туда колбеки из промисов попадают, queueMicrotask и requestAnimationFrame (не уверен)

  • @alsusayfulina1865
    @alsusayfulina1865 ปีที่แล้ว +2

    Спасибо! Появилось более целостное понимание этой штуки)

  • @Dmitrijserg
    @Dmitrijserg ปีที่แล้ว +1

    Лен, огромный кайф смотреть твои видео. Мотивируешь и вдохновляешь.

  • @antonasipenka2941
    @antonasipenka2941 4 หลายเดือนก่อน

    Интересный видос, с интересными примерами, только хотелось бы услышать еще про макро и микро таски

    • @webelart
      @webelart  4 หลายเดือนก่อน

      Есть ещё одно видео на канале, как раз про очереди разных видов.

  • @ArtyomStouch
    @ArtyomStouch 2 ปีที่แล้ว +3

    Спасибо Елена, очень познавательно.

  • @doge8633
    @doge8633 9 หลายเดือนก่อน

    Все что предоставляется через WEBapi - является асинхронными, поэтому использования колбека внутри document.querySelect является асинхронным.

  • @eradzhmirzoev1330
    @eradzhmirzoev1330 2 ปีที่แล้ว +7

    музыка отвлекает

    • @webelart
      @webelart  2 ปีที่แล้ว

      Услышала. ❤

  • @NoName-zh7cc
    @NoName-zh7cc 2 ปีที่แล้ว +3

    Офигенный контент, спасибо!

  • @user-glory-of-ukraine
    @user-glory-of-ukraine 2 ปีที่แล้ว +1

    Хорош видос, спасибо!!

  • @Marina-bh8iw
    @Marina-bh8iw ปีที่แล้ว +1

    Спасибо большое за такое простое объяснение для новичков!

  • @spllit9212
    @spllit9212 2 ปีที่แล้ว +1

    спасибо за полезности)

  • @DIMAWARCRAFT3
    @DIMAWARCRAFT3 ปีที่แล้ว

    в основном мне твои виде не нравятся. Но конкретно это видео супер. Разбираешь пример и я думаю "а что будет если добавить это сюда" и следующий пример у тебя такой как я подумал и так постоянно на протяжении видео)

    • @webelart
      @webelart  ปีที่แล้ว

      Даже не знаю, что тут ответить. Вроде бы и унизили и комплемент сказали. Знаете это как волосы у тебя конечно красивые, но уши пиздец…

  • @razvalnuy
    @razvalnuy ปีที่แล้ว +1

    Очень хорошо объясняете, благодарю

  • @caveofmovies8597
    @caveofmovies8597 2 ปีที่แล้ว +1

    спасибо, очень крутое видео

    • @webelart
      @webelart  2 ปีที่แล้ว +2

      🤗❤️

  • @adam-front
    @adam-front 2 ปีที่แล้ว +1

    Ну тут лайк прям однозначно 👍👍 большое спасибо

  • @deniskorablev2648
    @deniskorablev2648 2 ปีที่แล้ว +2

    опачки, обожаю твои гайды :3, спасибо помогаешь очень

    • @webelart
      @webelart  2 ปีที่แล้ว +2

      Спасибо! 😍 Надеюсь это видео тоже зайдёт!

  • @egoist2956
    @egoist2956 2 ปีที่แล้ว +2

    Лайк...!

  • @svetlanazheleykina4113
    @svetlanazheleykina4113 ปีที่แล้ว

    Спасибо!🙌

  • @Anonym-li8eb
    @Anonym-li8eb 9 หลายเดือนก่อน +1

    Спасибо, очень полезное видео :)

  • @Алешка-п1х
    @Алешка-п1х ปีที่แล้ว +1

    Хорошее видео, но хотелось бы услышать про поведение eventloop при использовании async/await, просто я не очень понимаю логику по которой весь синхронный код после await тоже попадает в очередь

    • @webelart
      @webelart  ปีที่แล้ว

      Вот вам видео th-cam.com/video/kZFLHCz2a30/w-d-xo.html

    • @Алешка-п1х
      @Алешка-п1х ปีที่แล้ว

      @@webelart то что нужно, спасибо

  • @СергейИжмаш
    @СергейИжмаш 2 ปีที่แล้ว +1

    Почему все видео с названием Event Loop в JavaScript описуют цикл в браузере. У Ноды цикл работает немного иначе. Отчего нету логической градации на цикл на фронте и бэке?

  • @denisshulga7539
    @denisshulga7539 ปีที่แล้ว

    Понравилось ) Только для меня теперь новая непонятка )) если есть отдельная очередь рендера, то что раньше попадает в колстек - что-то из render queue или из task queue? Или как это происходит

    • @webelart
      @webelart  ปีที่แล้ว

      Есть еще одно видео th-cam.com/video/kZFLHCz2a30/w-d-xo.html

  • @avazshukurullayev
    @avazshukurullayev 2 ปีที่แล้ว +1

    Cool

  • @Ramosok
    @Ramosok 2 ปีที่แล้ว +1

    Крутой контент!!!

  • @externuz
    @externuz 2 ปีที่แล้ว +3

    Если бы не "Стек колл вызовов" - было бы неплохо. А так, конечно, режет очень слух.

  • @fdskaasdyt
    @fdskaasdyt 2 ปีที่แล้ว +1

    А почему не выводится консоль лог на 85 строке?

    • @Natahin
      @Natahin 2 ปีที่แล้ว +1

      он выводится. В консоли из-за 85 строки появляется Е. (То что передали в resolve попадает в .then)

  • @Maxim9575
    @Maxim9575 2 ปีที่แล้ว

    Доклад Джейка Арчибальда получше будет чем у Филиппа. Там уже осовременено рассказывается. По этапам, что куда. У вас чувствуется доклад Филиппа Робертса :)
    Учитывая что вы пробовали написать Promise на js, было бы неплохо почитать про event-loop в спецификации whatwg ну и разные гугловские статьи по модели браузера, где рассказывается рендер часть.

    • @webelart
      @webelart  2 ปีที่แล้ว

      Да его смотрела, смысле Филиппа :)
      Есть ещё одно видео th-cam.com/video/kZFLHCz2a30/w-d-xo.html
      Кидайте ссылку, что за доклад?

    • @Maxim9575
      @Maxim9575 2 ปีที่แล้ว +1

      ​@@webelart I am writting this reply in english due with comment's system removes all my replies instantly. Before this I mentioned the report, you can easily find it if you will make search request in address URL with words: "Jake Archibald in the Loop"

    • @webelart
      @webelart  2 ปีที่แล้ว

      @@Maxim9575 ❤

  • @cheesecheesson9842
    @cheesecheesson9842 2 ปีที่แล้ว +2

    какой только превьюхой не заманивают на контент.

  • @dimendroider7550
    @dimendroider7550 13 วันที่ผ่านมา

    ВОПРОС, что такое колвызов? Какой-то новомодный термин? Никогда не слышал :)

    • @webelart
      @webelart  13 วันที่ผ่านมา

      @@dimendroider7550 старомодный. Callback ❤️

  • @pavelbezdenezhnykh6793
    @pavelbezdenezhnykh6793 2 ปีที่แล้ว +1

    На середине ролика приходит осознанность, трансформируется мозг, появляется возможность вызывать дождь, огонь, ветер... Будьте осторожны!

  • @vladimircreator
    @vladimircreator 11 หลายเดือนก่อน

    11:10 что за склейка? Я не понял, что там дальше объяснялось.

    • @webelart
      @webelart  11 หลายเดือนก่อน

      ну учить, че ты думаешь я с тобой сюсюкать тут буду что ли.

  • @ИванВалучев-э5р
    @ИванВалучев-э5р ปีที่แล้ว +1

    все круто, только единственный минус, музыка на заднем фоне громковата, пожалуйста, чуть тише, если можно сделайте в следущий раз

  • @yurydaszukiewicz1033
    @yurydaszukiewicz1033 ปีที่แล้ว

    На хабре написано в корне не так

  • @vlad_starkovsky
    @vlad_starkovsky 2 ปีที่แล้ว +2

    Подробный разбор эвентлупа, а ни слова о микротасках, куда как раз попадает then но не попадает setTimeout

    • @webelart
      @webelart  2 ปีที่แล้ว +5

      Как я уже упоминала в одном из комментариев, здесь нужно ещё погружение. Изначально я не ставила для данного видео задачу покрыть всё и вся. Я здесь ещё и про V8 не упомянула, не рассказала про макро, микро таски. Не покрыла setImmediate(), process.nextTick() и т.д., которые больше к nodejs относятся и рендер по факту вскользь упомянула.
      Я люблю, когда изучения происходят наслоением знаний. Т.к. когда стремишься сразу и всё изучить, рассказать, показать. Обычно получается какая-то каша. Нужно время для укладки информации, потом следующая порция. Видео получилось классным и покрывает много аспектов.
      Тем не менее, спасибо за комментарий, я увидела, что тема микро и макро тасков интересна. ❤️

  • @vladimircreator
    @vladimircreator 11 หลายเดือนก่อน

    16:31 1000 секунд)

    • @webelart
      @webelart  11 หลายเดือนก่อน

      🤦‍♀

  • @romanmed9035
    @romanmed9035 2 ปีที่แล้ว +1

    весело на собеседовании рассказать, что присутствует такая штука, которая передает другой штуке, пока выполняется очередная штука. а потом вар рассказать. экзаменующий будет в шоке от потока знаний и уж точно на сеньора сразу возьмут с зарплатой в 3 раза выше стандартной.

    • @webelart
      @webelart  2 ปีที่แล้ว

      Называйте функция, переменная и т.д., если вас слово штука триггерит. А вот про шок экзаменующего - это исключительно ваша фантазия.

    • @romanmed9035
      @romanmed9035 2 ปีที่แล้ว

      @@webelart для эксперимента именно так и сделал сегодня. и это будет чудом если меня туда возьмут.

    • @webelart
      @webelart  2 ปีที่แล้ว

      @@romanmed9035 Скиньте мне минуту, неужели всё штукой называла :D
      Да ладно вам писимистичничать, если верно решили, должно быть хорошо.
      Но в любом случае, поделитесь результатом, интересно ❤

    • @romanmed9035
      @romanmed9035 2 ปีที่แล้ว

      @@webelart об этом видео можно вообще забыть как и не было его. поскольку Вы выпустили недавно новое с полным описанием всего как оно и требуется для понимания, весь комплекс параметров. с почти теми выражениями какие используют экзаменаторы. и это совершенно два разных уровня преподавания, как будто между ними не несколько месяцев прошло или разные люди рассказыывают. огромный профессиональный рост лектора виден даже мне. и информация преподносится в полном объеме со всеми демонстрациями. буду именно по Вашей лекции это пытаться понять. я ее не успел полностью посмотреть. но мне как-то задали вопрос в другом месте о промисе в сетинтервале. и инетрвале в промисе. надеюсь в том что осталось, у Вас это показано. спасибо за ответы и за Ваш труд.

    • @webelart
      @webelart  2 ปีที่แล้ว

      @@romanmed9035 Спасибо, мне очень приятно!

  • @SportB.B
    @SportB.B หลายเดือนก่อน

    Консоль лог ашечка

  • @ФорменШульц
    @ФорменШульц 6 หลายเดือนก่อน

    немного быстро в коде бегаешь а так норм

  • @vladimircreator
    @vladimircreator 11 หลายเดือนก่อน

    13:05 говоришь 1 секунду, а ставишь 0.1 секунд.

    • @webelart
      @webelart  11 หลายเดือนก่อน

      да пошел ты на х*й как хочу так и монтирую 🤌

    • @vladimircreator
      @vladimircreator 11 หลายเดือนก่อน

      @@webelart 😂

  • @Dmitrijserg
    @Dmitrijserg ปีที่แล้ว

    Вообще, тема очень сложная, не для новичков в JS. Разбор материала мне понравился, но очевидно, что этот ролик нужно смотреть долго, постоянно останавливаясь и перематывая, и проверяя код в конспли самому. Джуну, думаю, часа три нужно, чтобы всё здесь сказанное и показанное усвоить. Минимум.

    • @webelart
      @webelart  ปีที่แล้ว +1

      Есть ещё одно видео про event loop th-cam.com/video/kZFLHCz2a30/w-d-xo.html

    • @Dmitrijserg
      @Dmitrijserg ปีที่แล้ว

      @@webelart спасибочки, посмотрю обязательно.

  • @Alexander-fn9kv
    @Alexander-fn9kv ปีที่แล้ว

    Ты лучше расскажи как с этими знаниями, пооектами на github найте работу? Зачем учить, если работы нет

    • @webelart
      @webelart  ปีที่แล้ว

      Постепенно и эти знания потребуются. От себя только скажу, ищите, пробуйте и всё получится!

  • @ilyapokotilo9273
    @ilyapokotilo9273 ปีที่แล้ว

    Видео для технарей, сплошная боль, столько неточностей.... Но хоть как-то объяете, на том спасибо

    • @webelart
      @webelart  ปีที่แล้ว +1

      Посмотрите вот это ещё, гораздо более точно и подробнее там объясняю th-cam.com/video/kZFLHCz2a30/w-d-xo.html

    • @webelart
      @webelart  ปีที่แล้ว +1

      Успехов вам в изучении ❤

    • @ilyapokotilo9273
      @ilyapokotilo9273 ปีที่แล้ว

      @@webelart Спасибо за обратную связь!))

  • @yurydaszukiewicz1033
    @yurydaszukiewicz1033 ปีที่แล้ว

    На хабре написано в корне не так

    • @webelart
      @webelart  ปีที่แล้ว

      Я использовала mdn

    • @yurydaszukiewicz1033
      @yurydaszukiewicz1033 ปีที่แล้ว

      @@webelart Это я затупил , нужно сразу было разобраться , а потом писать. Сорри