Урок 4. JavaScript. Асинхронность.Что такое Event Loop. JS SetTimeout 0

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ • 422

  • @VladilenMinin
    @VladilenMinin  5 років тому +362

    Асинхронность! Понятней с этим? Двигаемся дальше?
    Эксклюзивный контент на моем Boosty: boosty.to/vladilen

    • @ШамильАлисултанов-т6э
      @ШамильАлисултанов-т6э 5 років тому +1

      Круто, дальше наверное можно разбирать Промисы :-) и его методы

    • @VladilenMinin
      @VladilenMinin  5 років тому +6

      @@ШамильАлисултанов-т6э Промисы сегодня или завтра, да

    • @_Black_Mirror_
      @_Black_Mirror_ 5 років тому +18

      лучшее объяснение что я видел

    • @-it-kidys
      @-it-kidys 5 років тому +6

      @@VladilenMinin про промисы да и про async/await тоже логически последовательно супер было бы с такой подачей просто шикарно!

    • @VladilenMinin
      @VladilenMinin  5 років тому +2

      @@-it-kidys Благодарю

  • @justfisher2920
    @justfisher2920 Рік тому +107

    Впринципе тема раскрыта для новичка, но мне хотелось бы кратко дополнить. Так называемая очередь задач на самом деле разделена на две очереди, первая - это макротаски, вторая - микротаски, и в первую очередь выполняются сначало микротаски, а потом макротаски. К макротаскам относятся как сказал Владилен, setTimeout'ы, setInterbal'ы, обработчики событий, загрузка картинок, вывод инпутов и.т.д., а к микротаскам относятся только промисы, и впервую очередь стек будет выполнять их. Не благодарите😎

    • @grib-pix
      @grib-pix Рік тому

      а для синхронного кода какая очередь?

    • @justfisher2920
      @justfisher2920 Рік тому +4

      @@grib-pix ты только что ответил сам на свой вопрос!

    • @trreyi
      @trreyi 11 місяців тому

      ​@@justfisher2920можно ли ваш юзер в ТГ поговорить на счёт js

    • @relaxandwatch4091
      @relaxandwatch4091 9 місяців тому +16

      Ну, ты тоже не до конца написал, следует бы упоминуть, что сначало выполняются все микротаски(промисы,колбэки из queue microtasks(), колбэки MutationObserver, а потом только одна макротаска(если она пораждает микротаски, то эти микротаски выполняются сразу же после это макротаски), т.е получим: все микротаски, 1 макротаска, все микротаски, 1 макротаска и т.д.

    • @СергейК-б6н
      @СергейК-б6н 9 місяців тому

      Синхронный по очереди вот как код идет с первой строки до последней.А если внутри асинхронный будет то будет как в видео вот указанно асинхронный код дождеться пока выполнеться весь синхронный.@@grib-pix

  • @alexandrvinogradov8346
    @alexandrvinogradov8346 Рік тому +7

    Ох, впервые за три года понятное мне объяснение Event Loop, спасибо! :)

    • @whoami-iamred
      @whoami-iamred Рік тому

      На самом деле нет. Event loop может быть реализован двумя основными способами: 1) на каждый поток и 2) с пулом потоков. Объяснение так себе. Event loop'ы не специфичны для JS. Любой асинхронный код основан на эвент лупах, в любых языках.

  • @pavloskuibida6292
    @pavloskuibida6292 3 роки тому +2

    на курсах показывали на картинка, ничего не понял, Владилен за 17 мин донес все! В очередной раз поклон!

  • @АртурМетельский-ч8н

    Сколько статей не читал не мог полностью понять как работает event loop. После этого видео все стало предельно ясно. Спасибо за это :)

  • @dmytrohelbak
    @dmytrohelbak 5 років тому +254

    так просто аж страшно))) Вы гениально просто всё объяснили. Спасибо, Владилен!

  • @valentinknoll4106
    @valentinknoll4106 5 років тому +122

    Спасибо, у вас талант хорошего учителя

  • @seoonlyRU
    @seoonlyRU 2 роки тому +1

    Будем знать, за это однозначно лайк от СЕООНЛИ

  • @vladpobidash
    @vladpobidash 4 роки тому +9

    Это лучшее объяснение что я находил за все время изучения асинхронности в js. Спасибо большое что делишься так доступно и наглядно знаниями!

  • @ninzzo9867
    @ninzzo9867 2 роки тому

    самый четкий лектор) Показать с примером на этом сайте это очень круто!

  • @alexdexx21
    @alexdexx21 7 місяців тому

    Визуализация -- моё почтение. Спасибо, стало сильно понятнее!

  • @Makdir
    @Makdir 4 роки тому

    Можно было сказать, что асинхронными обычно являются методы с неопределенным временем выполнения. Слушатели событий не знают когда это событие произойдет и произойдет ли вообще. То же самое при чтении файлов и т.п.. Когда они закончаться, если закончаться вообще неизвестно, а программа должна выполнятся (или должна ждать результата :) ). Отсюда можно сделать логический переход к промисам, которые позволяют учитывать возможные варианты завершения или незавершения асинхронных процессов. Мне кажется так лучше для понимания асинхронности (чтобы не сложилось впечатление, что это просто обычный метод, но который происходит позже, как можно подумать вследствие манипуляций таймаутом (что 5000, что 0 - а результат в конце)). За видео - респект и лайк. Круто и наглядно объяснено как выполнение метода выносится из основного потока и включается обратно.

  • @vallery1395
    @vallery1395 2 роки тому

    С удовольствием смотрю все Ваши видео! Подписка + лайк! Спасибо!

  • @elmirdadashev608
    @elmirdadashev608 2 місяці тому

    Лучшее объяснение которое я когда-либо слышал

  • @kerdi_it4863
    @kerdi_it4863 2 роки тому +3

    \\\Красавчик братан. обьясняешь как надо. преподавать это твоя стихия

  • @alexmajak3159
    @alexmajak3159 3 роки тому +2

    Спасибо за труд. Многие вещи максимально понятно.

  • @СергійМельник-х2ф
    @СергійМельник-х2ф 2 роки тому

    Дуже якісно пояснив. Автору респект.

  • @bullet3898
    @bullet3898 3 роки тому +25

    обожаю момент, когда "И на самом деле..это всё")))

  • @romanhassazhyrov5558
    @romanhassazhyrov5558 Рік тому

    Лучшее объяснение, понял с первого раза!

  • @bodya5645-e5l
    @bodya5645-e5l 4 роки тому

    Самые лучшие уроки на ютубе.

  • @romanshevchenko9237
    @romanshevchenko9237 Рік тому

    Лучшее видео по теме из всего, что я смотрел

  • @ОлегПетров-п4у
    @ОлегПетров-п4у 3 роки тому

    Кратко, наглядно, понятно. Спасибо! Event Loop.

  • @drl232
    @drl232 4 роки тому

    Владилен респект вам за просвещения в JavaScript !

  • @exploringtheworld8780
    @exploringtheworld8780 3 роки тому +1

    Спасибо, Владилен!

  • @Dendor3519
    @Dendor3519 3 роки тому

    Владилен!!! Всё классно рассказываешь!

  • @ПётрПетровичПетров-ь1х

    Влад, ну ты вообще красавчик !
    Очень круто подаешь материал , спасибо за труды, очень качественный контент !
    Успехов тебе профессор Владилен Минин !

  • @maxim_hj
    @maxim_hj 2 роки тому

    Знаете, что я Вам скажу? Вы самый настоящий скрипт!

  • @GUNTRUP_
    @GUNTRUP_ Рік тому

    ранее понимание асинхронности было ,но твое видео мне дало ясность

  • @TheSerikzhan
    @TheSerikzhan 3 роки тому +1

    Очень доступное объяснение! Спасибо автору!

  • @ОльгитаТатарченко-ъ2э

    Спасибо, тут все ясно!!!!! и отличная ссилка для практики!!

  • @selfcreator8921
    @selfcreator8921 9 місяців тому

    Отлично видео, большое спасибо за твой труд

  • @IvJaiN
    @IvJaiN 3 роки тому +1

    тему уяснил на 10 баллов, спасибо за лучшее объяснение!

  • @StetskoV
    @StetskoV 4 роки тому +12

    Владилен, спасибо за труд! Все очень доходчиво!

  • @maksymkushchenko7054
    @maksymkushchenko7054 2 роки тому +1

    Отличное разъяснение, благодарю!

  • @АдильжанМухаметов

    Спасибо большое за такие уроки

  • @antotepo
    @antotepo 2 роки тому

    Владилен, конечно, крутой

  • @Записи-л7у
    @Записи-л7у Рік тому

    Молодец, умница. В сети полно руководств а-ля "Hello World", но "просто о сложном" очень мало, тем более таких наглядных видео. А даже опытным специалистам полезно такие уроки просматривать. Не все по теории шли к практике, а к JS подходили с опытом других языков, например C++ и практические навыки есть, а теории (концепта) работы в браузерной среде у таких специалистов может и не быть. Спасибо.

  • @АндрейСкарынкин
    @АндрейСкарынкин 5 років тому +1

    Лучшие уроки на ютубе! Продолжай пожалуйста)

    • @VladilenMinin
      @VladilenMinin  5 років тому

      Благодарю за такой отзыв)

  • @sergeiskipin6733
    @sergeiskipin6733 4 роки тому +3

    в мозгу стало как то чище и просторней ), спасибо!

  • @Skif769
    @Skif769 4 роки тому

    Ты ваще краса, 2 мин видео а уже столько нового узнал!

  • @oleksandrvoron_ko580
    @oleksandrvoron_ko580 3 роки тому

    Пояснення ідеальне! Дякую!

  • @alexon3272
    @alexon3272 4 роки тому +3

    Лучшее видео и урок, показывающий всю суть принципа работы языка javaScript! Автору БОЛЬШОЕ СПАСИБО!

  • @МаринаГуд-к3г
    @МаринаГуд-к3г 2 роки тому

    Спасибо огромное! Это просто гениально!!! Спасибо за Ваш труд! Желаю роста Вашему каналу!!!

  • @yanarusakova1632
    @yanarusakova1632 2 роки тому

    Максимально доступно и очень быстро Вам удалось объяснить!!!🔥🔥

  • @barb0ssa227
    @barb0ssa227 4 роки тому

    Как просто ты все обьяснил, сказка просто!
    Спасибо друг, ты классный учитель

  • @danilsilantyev9623
    @danilsilantyev9623 2 роки тому +7

    Огромное спасибо, Владилен! Как же ты суперски помогаешь развиваться, т.к. в ру-сообществе мало действительно крутых курсов и уроков (даже платных), после твоего курса на Udemy и всех видео по JS'у могу действительно создавать крутые веб-приложения, которые радуют даже себя! Спасибо за то, что помог учиться в кайф!)

  • @vasiloconnell281
    @vasiloconnell281 4 роки тому

    наконец-то разобрался с этим event loop

  • @ogtater1967
    @ogtater1967 2 роки тому

    Владилен спасибо тебе большое !

  • @RewCSharp
    @RewCSharp Рік тому

    Спасибо за урок!

  • @artem_doronin
    @artem_doronin 2 роки тому +1

    Красавчик! Крутое объяснение

  • @maxshmidt557
    @maxshmidt557 5 років тому +67

    Жду продолжения (promise, async await, fetch ). До сих пор не знаю где именно надо писать async await. Тема не простая особенно что касается promise.
    P.S.: Благодарю за видеоролик по асинхронности.

    • @VladilenMinin
      @VladilenMinin  5 років тому +24

      тема проще, чем кажется
      В следующем видео расскажу

  • @ruslwhite
    @ruslwhite 3 роки тому +20

    Было бы здорово ещё описать что относится к таскам, а что к микротаскам и их очередь выполнения

  • @mila4308
    @mila4308 3 роки тому

    идеально, гениально и просто! лучший учитель

  • @RomanKalugin
    @RomanKalugin 4 роки тому

    Так не хватало серии таких видосов!

  • @goodvideobro
    @goodvideobro 11 місяців тому

    максимально доходчиво

  • @Roman-fc8qt
    @Roman-fc8qt 3 роки тому

    Весьма поверхностный урок. Для новичков может и пойдет. Но стоило бы еще рассказать про то что лежит в основе асинхронности, а имено про libuv, и почему тяжелые вычеслительные операции не стоит выполнять через event loop

  • @arti_do2427
    @arti_do2427 2 роки тому

    Очень доступное объяснение. Спасибо!

  • @garikmelqonyan6011
    @garikmelqonyan6011 4 роки тому +4

    Respect!
    Thank you for your simplicity. I just can't help saying that you are talented to make things plainly that have seemed hard for so long.
    In the search for good educational material, you come in touch with a variety of different stuff and many of them are explained so complicatedly that you get more and more confused.
    Your tutorials are one of the best concerning the mentioned concepts.
    Thank you.

  • @realmadrid-ji9bd
    @realmadrid-ji9bd 3 роки тому

    Более подробного объяснение я нигде не видел! Спасибо вам большое 👍👍👍

  • @tamesshka
    @tamesshka 3 роки тому +1

    Это было очень увлекательно, Владилен! Спасибо большое за материал!

  • @alex_k21
    @alex_k21 4 роки тому +45

    хотелось бы, конечно, еще услышать что-нибудь про приоритетность микро и макротасков) но для начинающих, думаю, и этого достаточно

  • @O-L-1986
    @O-L-1986 5 років тому +1

    Агонь, ты лучший! Очень доступно!

  • @alekseyberezov8020
    @alekseyberezov8020 3 роки тому

    Спасибо бро! Это самое крутое и наглядное объяснение Event Loop.

  • @АлексейЛоскутников-ю4р

    Очень хороший показательный пример.

  • @booleanaireme
    @booleanaireme 2 роки тому

    спасибо большо, читала много и не могла понять, с вашей интерпретацией получилось понять!

  • @anriat2141
    @anriat2141 3 роки тому

    чел ты просто ахуенно объясняешь!!! Без лишней воды, прозрачно и понятно! Респект тебе! Я прям очень Благодарен тебе, что ты есть!!!

  • @СмирновИван-щ9ц

    Всё просто и понятно. Спасибо!

  • @Lord__Foxtrot
    @Lord__Foxtrot Рік тому

    Спасибо большое за детальное объяснение !)

  • @Roma_-nh7qj
    @Roma_-nh7qj Рік тому

    Какой ты Гигант Владилен.⚡⚡⚡

  • @AlexandrBaibachenko
    @AlexandrBaibachenko 2 роки тому

    Юху, наконец-то понятно, как это работает. Огромное спасибо за урок👍

  • @Pikado_videos
    @Pikado_videos Рік тому

    красава, мой препод на курсах не смог так хорошо это объяснить как ты

    • @VladilenMinin
      @VladilenMinin  Рік тому

      го к нам на курс)

    • @Pikado_videos
      @Pikado_videos Рік тому

      я на автоматизатора учусь, и уже заплатила за текущий курс( @@VladilenMinin

  • @artursveshnikov7668
    @artursveshnikov7668 Рік тому

    Это видео как по мне лучшее в плейлисте. Js конечно лучше от этого не стал 💩. Но Владилен красавчик 😎😎😎. Так просто объяснять сложные вещи могут не только лишь все.

  • @ИванОпенько-б5с
    @ИванОпенько-б5с 5 років тому +2

    Конструктивно, понятно, однозначно лайк подписка

  • @МихаелДядин
    @МихаелДядин 4 роки тому

    Владилен спасибо за асинхроность.круто!!!

  • @peterk9449
    @peterk9449 4 роки тому

    Поздравляю с 100 000 подписчиков!!! Так держать!

  • @АлександрВарыгин-в3ы

    Отличный урок! Доступно и понятно!

  • @bekzatmurat1341
    @bekzatmurat1341 2 роки тому

    Несмотря на то, что мой руский плохой, вы очень легко обяснили. Огромное спасибо вам

  • @Snegurjan
    @Snegurjan 4 роки тому +1

    Урааа ,я все понял ,это было пугающе просто,Владилен учитель от Бога!

  • @Александр-ь5н8у
    @Александр-ь5н8у 5 років тому +8

    Благодарю за урок. Очень наглядно и доступно, JS становится всё проще и проще. :))

  • @ideshmaaerdene-ochir4247
    @ideshmaaerdene-ochir4247 4 роки тому

    Thank you very much. Not this one but all you tutorials are very good! Good luck!

  • @rzdegor1978
    @rzdegor1978 4 роки тому

    Хоть теперь мне стало это понятно )) Включая предидущие уроки ))

  • @OnlyLuck1000
    @OnlyLuck1000 4 роки тому

    Просто лучший! Кратко, наглядно, понятно. Спасибо за труд!

  • @annasamoylenko3804
    @annasamoylenko3804 5 років тому +4

    Владилен, спасибо! Четко, ясно, понятно) Продолжай творить)

  • @ПетроПотрошенко
    @ПетроПотрошенко 4 роки тому

    Комментарий из восьми слов для поддержки этого видео.

  • @PavloPoprotskiy
    @PavloPoprotskiy 3 роки тому

    Отлично все понятно и доступно. пока не понятно где и зачем это может пригодится )))

  • @vadicus6534
    @vadicus6534 4 роки тому +3

    Отличная подача, Владилен! Отдельное спасибо за то что ты подаешь информацию медленно, с повторами и примерами. Это именно то чего мне не хватает в обучающих материалах по js! Отличное видео, я крайне доволен что нашел такой контент!)

  • @_pheax
    @_pheax 2 роки тому

    отлично. очень хорошо обьяснил .. спасибо

  • @andrTaylor
    @andrTaylor 4 роки тому +2

    Ещё про render queue не упомянули. Перерисовка страницы важнее по приоритету, поэтому если стэк занят долгой медленной функцией, то после её завершнения event loop (вместо готовой ф-и в callback queue) закинет ф-ю перерисовки интерфейса в стэк и только потом(уже после неё) будет закидывать в стэк обычные готовые ф-и.

  • @Грант1147
    @Грант1147 4 роки тому

    Лучший! Стало понятно как это работает)

  • @Ибрагим-вввв09
    @Ибрагим-вввв09 4 роки тому

    Очень грамотно разъясняете

  • @ПетроПотрошенко
    @ПетроПотрошенко 4 роки тому +1

    Спасибо тебе, Ленин, ты крут!

  • @LiubovMinakova-d4h
    @LiubovMinakova-d4h 3 роки тому

    Супер, сложная тема простыми словами!

  • @ВолодимирПилипчук-ъ4ш

    Я в шоке, ты такой красавчик, по полочкам обяснил )

  • @vasil_mullin
    @vasil_mullin 8 місяців тому

    Спасибо, полезно!

  • @nickamm
    @nickamm Рік тому

    Спасибо! Наглядно и понятно

  • @olya9054
    @olya9054 5 років тому

    Отличное видео, большое спасибо. Все очень понятно, смотреть и слушать приятно. Очень рада, что нашла ваш канал!

  • @LNLGv-ig8fb
    @LNLGv-ig8fb 4 роки тому

    ты отличный учитель

  • @gravitation-ether242
    @gravitation-ether242 3 роки тому

    Владлен твои уроки уже комментируют целые видео создают анализируют. Ну нигде так четко не смог понять многие элементы js

    • @VladilenMinin
      @VladilenMinin  3 роки тому

      Не совсем понял, что ты имеешь ввиду?

  • @jasonborn4373
    @jasonborn4373 Рік тому

    не ну как бы всё вроде бы понятно подробней не обьясниш как бы) Спасибо! Красава!

  • @angrycatstudio2816
    @angrycatstudio2816 4 роки тому +1

    Чувак, ты очень крутой. Спасибо за разъяснения