Event Loop: Ключ к оптимизации вашего кода | Как работает асинхронность в JS

Поделиться
HTML-код
  • Опубликовано: 29 сен 2024
  • Сегодня разберём как реализована модель асинхронности в браузере. Не будем строить догадки пощупаем реальный браузер во вкладочке performance
    Подписывайтесь на мой telegram канал: t.me/cleanfron...

Комментарии • 17

  • @sk89061
    @sk89061 Год назад +3

    с одной стороны - все понятно. Но, к сожалению, если бы я это видео смотрел лет 5 назад начинающим джуном, не уверен, что было бы так же

  • @Сергей-м5у7ф
    @Сергей-м5у7ф Год назад +2

    отличное объяснение! Но, если засветил в коде promise и queueMicrotask, то объясни уже и про них) где-то ты обещал сделать видео про микро и макро задачи

  • @zalip4129
    @zalip4129 Месяц назад

    не нужно путать многопоточность и асихронность

  • @yuryk3397
    @yuryk3397 Год назад +2

    Судя по набору видео этого канала ты очень глубоко копаешь реакт темы)
    Можешь снять ролик об анимациях в реакте?
    Там встречается много неочевидных вещей, нужно следить за рендерами, маунтом/анмаунтом
    Моя предметная область - игры
    И мне часто кажется что игры на реакте это попытки подстроиться под рендер браузера, и проще взять pixi (или unity если неважен размер бандла) и накодить все там
    Круто было бы разобрать пример
    Постепенное появление элементов UI: 2 кнопки, панель ресурсов (монетка и текстфилд с числом)
    1 кнопка открывает попап
    2 кнопка создаёт монетку, которая улетает в ресурс панель и после этого счётчик увеличивается
    Это все как пример, главный запрос: как подружить реакт и анимации чтобы это было похоже на игру, а не на энтерпрайз )

    • @paromovevg
      @paromovevg  Год назад +1

      Сразу скажу момент возьми pixi)
      React это фреймворк по созданию сайтов а не игр. В чём отличие сайтом от игр?
      Относительно статичный интерфейс. Приемущественно текстовая информация и простые анимации.
      Сам Ден Абрамов как то говорил, что Реакт не заточен на частые обновления
      В этом смысле если у тебя будет 60 фпс обновлений, то реакт будет архи сложно с этим подружить, как и саму асинхронную модель

    • @yuryk3397
      @yuryk3397 Год назад

      @@paromovevg тогда пример посложнее
      Представим диабло в вебе
      Основной кор геймплей это pixi/threejs - тут без вариантов
      А интерфейсы? Их же там целая куча
      Сюда так и просится что то из веб-технологий
      На канвасе такое долго делать потому что с нуля
      А на реакте долго потому что следим за рендером/анмаунтом и иммутацией пропсов/стейтов
      Либо пробовать solid/svelte, может там и удобнее
      PS - был давно на конференции по разработке хтмл5 игр, было 5-10 докладов, стек не совпал ни у кого)

    • @mikhail6790
      @mikhail6790 Год назад

      ⁠@@yuryk3397ривет! А что бы ты сам взял для интерфейсов?

    • @yuryk3397
      @yuryk3397 Год назад

      @@mikhail6790 ещё как вариант затестить cocos creator
      Он и кроссплатформ, и тайпскрипт, и вебжл билд меньше чем в юнити
      Ну и сам как юнити только по китайски )

  • @АнатолийГорбов-о1ь

    Круто! спасибо за канал с интересным контентом!) продолжай в том же духе!)

  • @happyhomo4423
    @happyhomo4423 Год назад

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

  • @tanercoder1915
    @tanercoder1915 Год назад

    в конце видео: разве результаты работы с fetch будут обработаны в макротасках? все что свзано с промисами - микротаски... fetch возвращает промис...

    • @paromovevg
      @paromovevg  Год назад +3

      Тут важный момент, все then обработаны будут в микротасках, но вот самый первый resolve где то внутри фетчь идёт внутри макротаски.
      Вообще микротасок не бывает в отрыве от макротаски которая первый промис ресолвит

  • @gaziev__9797
    @gaziev__9797 Год назад

    Почему есть две разные очереди? Почему все не сделать в 1?
    Как even loop работает в nodejs ?

    • @paromovevg
      @paromovevg  Год назад

      Если ты про очередь микрозадач, то сделаю про это видео
      В node js работает немного по другому, надо тоже отдельное видео выпускать

  • @hasst9261
    @hasst9261 Год назад

    Хороший контент.
    Будет ли видео об сборщике мусора?