JavaScript событийный цикл Event Loop, асинхронный код, промисы (Promise), async / await

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

КОМЕНТАРІ • 44

  • @AleksanderLamkov
    @AleksanderLamkov  2 місяці тому +2

    📌 Друзья, в телеграмме у нас есть отдельный чат, где вы можете задать вопрос по фронтенд-разработке и вам постараются помочь:
    💬 t.me/friendlyFrontendChat
    Если вам это интересно, присоединяйтесь, задавайте вопросы и помогайте другим 🙂

  • @kolyanixx5311
    @kolyanixx5311 2 місяці тому +9

    Единственный блогер объясняющий без воды)

  • @Roman-k9l6v
    @Roman-k9l6v 12 днів тому +2

    Спасибо тебе, добрый человек. Не забрасывай только, очень полезные материалы

  • @mirci5459
    @mirci5459 Місяць тому +3

    оогооо, впервые вижу такие подробные уроки по JS, так держать! Прям так же подробно по js, как и simple code по c++ - такие люди редкость прям (год назад искал тоже уроки о js, но все было разбросано и не достаточно понятно в отличие от этих уроков)

  • @Ozeum
    @Ozeum 2 місяці тому +3

    Огромное спасибо, максимально лаконично, информативно и полезно. Жду мастер-класс 🎉

  • @jekakavaltchuk2714
    @jekakavaltchuk2714 2 місяці тому +3

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

  • @johanferding9485
    @johanferding9485 2 місяці тому +1

    Как раз то, что искал, спасибо за Вашу работу 😉👍

  • @Anatoli-bq1pe
    @Anatoli-bq1pe 2 місяці тому +2

    Благодарю за очередной классный видос!

  • @sntfootball567
    @sntfootball567 2 місяці тому +1

    Спасибо за урок. Очень информативно

  • @mouri_san
    @mouri_san Місяць тому +1

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

  • @umudumu
    @umudumu 2 місяці тому +2

    Дождались самого животрепещущего урока.

  • @АлександрСальников-с2ж

    Коммент в поддержку, спасибо за урок!

  • @СтаниславГорячев-г1ъ
    @СтаниславГорячев-г1ъ 2 місяці тому +1

    Спасибо вам большое, очень все понятно

  • @andreyboikov
    @andreyboikov 2 місяці тому +1

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

  • @smotritelyoutube
    @smotritelyoutube 2 місяці тому +1

    Супер, лайк!

  • @karangan
    @karangan Місяць тому

    А есть какое-то техническое объяснение почему ты используешь fulfill вместо resolve? Есть ли вообще разница, или это просто вкусовщина?

    • @AleksanderLamkov
      @AleksanderLamkov  Місяць тому +2

      Нет разницы в том, как называть эту функцию. Я решил в объяснении использовать это слово, т. к. оно созвучно названию состояния 'fulfilled'. Думал так будет проще зрителю воспринять материал. Сам же в своем коде я чаще использую слово resolve в подобных местах.

  • @w0x3rrr81
    @w0x3rrr81 Місяць тому

    Привет,не совсем понял почему при указании типа подключения js файла в html заработал await в глобальной области видимости?

    • @AleksanderLamkov
      @AleksanderLamkov  Місяць тому +1

      Ограничения языка - await в глобальной области видимости работает только в модулях. Но в скором времени и без указания type="module" будет работать. А пока что без этого никак.

    • @w0x3rrr81
      @w0x3rrr81 Місяць тому +1

      @@AleksanderLamkov интересно,на learn.js нет такой инфы,благодарю)

  • @КириллКараваев-т7ш

    Эх, я понимаю, что объяснение хорошее, но почему-то эта тема даже труднее, чем то, что Вы называли трудным: классы...

    • @AleksanderLamkov
      @AleksanderLamkov  9 днів тому

      Эту тему я бы не назвал легкой. Одна из самых сложных, это факт. Нужно попрактиковаться, чтобы пришло понимание)

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

    Привет, ты как-то странно объясняешь про многопоточность, называя это событийным циклом.
    Просто JS сам себе многопоточный в отличие тех же PHP и Java.
    Обучающемуся нужно понять что такое многопоточность, и код который висит в функциях(методах) начинает отрабатывать по забинденному событию или тому же setTimrout-у.
    И блоки исполняемого кода в таких событийных функциях работают независимо друг от друга.
    А так все замечательно, продолжай в том же духе.

    • @AleksanderLamkov
      @AleksanderLamkov  2 місяці тому +1

      Во всех материалах, на которые я ориентировался, акцентируют внимание на том, что JS - однопоточный. Исключения - NodeJS с определенной версии и WebWorkers.
      Или ты имеешь в виду, что асинхронность = многопоточность? Такую аналогию видел, но её нечасто используют.

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

      @@AleksanderLamkov JS многопоточный, от куда у тебя инфа про однопоточность? Вся прелесть ECMAScript(если не не изменяет память) второй версии именно это и преподносила как совершенно другой подход в программировании, а именно - параллельность исполнения кода.

    • @AleksanderLamkov
      @AleksanderLamkov  2 місяці тому +3

      @gabbergabberovich
      Третий абзац в «Кратко»:
      doka.guide/js/async-in-js/
      Вся статья и комментарии к ней:
      habr.com/en/amp/publications/786330/
      И миллион других ресурсов по запросу в гугле «js однопоточный».
      Вообще, я не фанат обмусоливания теории. Мне искренне плевать на то, какой язык, однопоточный, псевдо-однопоточный, многопоточный или псевдо-многопоточный.
      Философия моего «я» во фронтенде - «я крашу кнопки за большой прайс». Я понимаю как делать «фронтенд» и зарабатываю на этом. И пытаюсь научить этому других.
      Теоретические знания - то, чем можно выпендрится на собеседованиях в МААНГ и в публичных пространствах в интернете. Меня это не цепляет. Если знания нельзя применить на практике (за исключением супер-специфичных ситуаций), то в моей картине мира эти знания бесполезны.
      И я не гнушаюсь транслировать свою философию в массы, т. к. моя карьера - органичный воспроизводимый путь. Не нужно быть Computer Science адептом и экспертом спецификации JavaScript, чтобы делать современный удобный красивый, быстрый и удобнорасширяемый фронтенд.
      Даже если мы докопаемся этим диалогом до сути, то на практике я эти знания не применю, поэтому со временем они забудутся.

    • @maximmadan
      @maximmadan 2 місяці тому +1

      Java многопоточная

    • @mushroom2267
      @mushroom2267 2 місяці тому +1

      @@gabbergabberovich с каких пор js стал многопоточным? не вводи людей в заблуждение. Это как написали выше java многопоточный

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

    В случае с фетч который возвращает промис трай кетч не отловит плохой ответ по статусу, а жаль. Пиши свой кастомный фетч)

    • @ntldrzic
      @ntldrzic 2 місяці тому +2

      Плохой статус, это не ошибка выполнения самого запроса, а один из вариантов ответа.
      Хотя axios кажется возвращает reject на 400 и 500

  • @AndrejMoskalev
    @AndrejMoskalev Місяць тому

    коммент

  • @Prolaps-us
    @Prolaps-us 2 місяці тому +1

    Событийный 😂😂😂
    Цикл событий, диспетчер, рабочий цикл - но ни как не событийный.

    • @AleksanderLamkov
      @AleksanderLamkov  2 місяці тому +2

      Вот это да, полностью же меняется суть концепции, если назвать её чуточку иначе…

    • @Prolaps-us
      @Prolaps-us 2 місяці тому

      @@AleksanderLamkov суть не меняется, меняется восприятие.
      название выглядит как кривой пиратский перевод с китайского.

    • @eobardmeef8166
      @eobardmeef8166 16 днів тому

      @@Prolaps-us во многих учебниках написано "Событийный цикл", например в learn.js.

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

    Ужас, как же сложно объясняешь несложные вещи
    3/4 воды 😔

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

      А конкретнее? Что именно я усложнил при объяснении? Уточни, пожалуйста.

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

      @@AleksanderLamkov привет! смотрел у тебя часовое видео по верстке с scss - это был лучший контент, который я видел на ютубе - сухо, по делу и с практикой
      здесь же затрагивается сразу много тем; не всегда понятно, зачем приводятся примеры и разные усложнения в виде таймеров, new Promise или информации об одном потоке, которая не раскрыта до конца. Сложные термины были озвучены без объяснений
      И есть слова, которые сбивают с толку, например, твой комментарий, что await заставляет ждать выполнение промиса - да, все это верно по документации, но когда слушаешь это в контексте потока, о котором ты говорил в начале, то непонятно, как именно это ожидание работает: останавливается весь код или интерпретатор работает с другими задачами?
      поймал себя на мысли к 20 минуте видео, что в голове каша, и ведущий поверхностно говорит о разных гранях асинхронности, хотя эту тему можно изложить лаконичнее и с практическими примерами.
      А здесь как будто пересказ статьи про async/await в js - технически все верно сказано, но такие объяснения сложны
      на мой коммент не серчай, успехов тебе)

    • @AleksanderLamkov
      @AleksanderLamkov  2 місяці тому +1

      Спасибо за развернутую критику! Тема урока непростая, упрощал как мог. В будущем постараюсь учесть моменты, на которые ты указал.

  • @Triplanar
    @Triplanar 2 місяці тому +1

    Как всегда топ

  • @elkhanhuseinov9804
    @elkhanhuseinov9804 2 місяці тому +2

    Это всё прекрасно. Автору несомненно большой респект за труд и помощь. Но весь материал по JS один и тот-же, вот если бы преподавали JS сразу на примере повседневных задач фронтенд разработчика - что бы пришло понимание, когда и где использовать тот или иной метод, но этого нигде нету.... Где найти такие курсы? Что бы и много лишнего не учить, и понимать как использовать все навыки на деле (создавая web-страницу к примеру).

    • @AleksanderLamkov
      @AleksanderLamkov  2 місяці тому +4

      Это будет в мастер-классе. Невозможно создать такой курс с 0, где сразу же будут показываться боевые задачи фронтенд-разработчика.
      И в моем курсе нет, на мой взгляд, ничего лишнего. Всё, что я тут объясняю, применялось мною на практике за последние годы. Я как раз таки опускаю ненужные вещи, чтобы не забивать новичкам голову мусорной теорией.

    • @elkhanhuseinov9804
      @elkhanhuseinov9804 2 місяці тому +1

      @@AleksanderLamkov ❤️👍🏼 Во всяком случае огромное вам спасибо

  • @miwanjaGR
    @miwanjaGR 2 місяці тому +2

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