Size: a a a

JavaScript Noobs — сообщество новичков

2020 July 11

DE

Daniel Erased in JavaScript Noobs — сообщество новичков
Это и промис и вынесение в эвент луп кода который внутри async

Все await переносятся в эвент луп, чтобы не блокировать колстек. Так?
источник

DE

Daniel Erased in JavaScript Noobs — сообщество новичков
Но в то же время await'ы это цепочка промисов. Каждый последующий ждёт предыдущий.
источник

DE

Daniel Erased in JavaScript Noobs — сообщество новичков
И все они выполняются в эвент лупе.
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Что значит "выносится в ивент луп"
источник

DE

Daniel Erased in JavaScript Noobs — сообщество новичков
За колстеком есть воркер по умолчанию. Ведь так?
источник

DE

Daniel Erased in JavaScript Noobs — сообщество новичков
Куда попадает код, который затем после выполнения отправляется обратно в колстек
источник

DE

Daniel Erased in JavaScript Noobs — сообщество новичков
Когда тот уже пуст
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Daniel Erased
За колстеком есть воркер по умолчанию. Ведь так?
источник

DE

Daniel Erased in JavaScript Noobs — сообщество новичков
))0)
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Кажись ты не понял что такое колстек
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
И ивентлуп
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Сейчас объясню вкратце
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Функция вызвала функцию и так далее

Внутри а вызвал б, внутри б вызвал с

Образуется колстэк (стэк вызовов)

C
B
A

Все в порядке LIFO потом резолвится
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Точнее тип когда уже функция не вызвалась, то стэк чистится
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Берётся Некст задача
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
А теперь разберем что такое задача и какие они бывают
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Задачи делятся на макро и микро

Микро - всякие промисы, сетевые запросы, ивент листенеры

Макро - сеттаймаут, сетинтервал


Каждый раз при итерации мы в начале выполняем все колбеки внутри микротаск Кью в порядке FIRST IN FIRST OUT

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

После переходим к макротаскам

Из очереди берется один таск, выполняется и после снова смотрит микротаски
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Сетевые запросы имел в виду калбек сам
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Сам запрос от сети ожидается вообще вне жса
источник

S

Sm•ok 😈✔️ in JavaScript Noobs — сообщество новичков
Это делает браузер, а потом просто этот калбек закидывает в microtasks queue
источник