Как стать автором
Обновить

Комментарии 9

Я слышал о Bun и о том что он возможно уничтожит NodeJs, однако они оба для меня всего лишь бандлеры, которые нужны для фронта.

Для таких вещей как многопоточность я бы использовал язык пониже, тем более изучить ещё один яп, не такая уж сложная задача, кому интересно я выбрал Golang, хоть многие и критикуют его за синтаксис?

Я слышал о Bun и о том что он возможно уничтожит NodeJs, однако они оба для меня всего лишь бандлеры, которые нужны для фронта.

ну нода изначально и не говорит, что это лучший бек для любого проекта. Это имплементация commonjs. А как и для чего это уже ваше дело. Go, тоже всего не может и не на всех проектах)

Странно почему последнее время все кинулись изучать и спрашивать на собесах про ивент луп. До этого его не было? Надоели вопрос про замыкания?)

Тут "спрос" и "предложение" взаимно подогревают друг друга. Начали писать про евент луп, больше синьоров/тимлидов обратили на это внимание и стали спрашивать на собесах, соответственно выросла нужда в разъяснили (спрашивают же), и стали писать ещё больше. А ещё, в последние годы, собес - это модный жанр на ютубе в прогерских каналах, что ускорило вышеописанный процесс.

Ну и спрашивают не просто так - всё-таки нужная штука, если чел не в курсе как это устроено, то будет делать дурацкие ошибки.

Например, какие ошибки ?

Добрый день. Некоторые уточнения по статье:
- На картинке в callstack между fn1() и fn3() должен быть вызов setTimeout(), это тоже синхронная операция, она у вас пропущена.
- В промисах resolve не с thenable объектом - синхронная операция, ваш промис будет выполнен еще до того, как вернется в переменную myPromise, и then - тоже синхронная операция, а вот что и отправиться в микротаску, так это выполнение первого аргумента then, так как промис у вас fulfilled. (Ecmascript 2021 п. 27.2.5.4.1 10c)
- Не всегда последовательность "все микротаски => 1 render-таска => 1 макротаска" является правдой для render-таска, браузер может пропускать эти таски, поэтому анимации на setTimeout очень не правильные, и лучше их делать через requestAnimationFrame

Инфа по eventloop с интернетов:
Старый видос (2014 г.) с jsconf об основе eventloop'a, устарел в плане того, что в нем нет job'ов (microtask) https://youtu.be/8aGhZQkoFbQ
Видео про eventloop посвежее jsconf (2018 г.), там есть и макротаски и микротаски и requestAnimationFrame https://youtu.be/cCOL7MC4Pl0

Отличная статья. Кратко и понятно.

JavaScript и правда не может обработать данные в несколько потоков

уже около 8 лет как может. Единственное ограничение - єто выполнение одновременно более одного jobs в рамках одного realm.

Почти четверть всей спецификации Ecma об єтом.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории