Size: a a a

JavaScript — русскоговорящее сообщество

2020 May 23

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Не, вы не поняли. Калбек это не совсем то
источник

KS

Konstantin Sedykh in JavaScript — русскоговорящее сообщество
Sm•ok 😈✔️
Там кстати ещё примеры есть как делить большую задачу с помощью таймаутов с 0 задержкой, чтобы большую задачу выполнить не за раз, а поделить на куски (таски/макротаски) и не блочить рендер на долго
так и до генераторов когда-нибудь доберётесь... 😂
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Есть очередь калбеков.

В микротасках
В макротасках
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
В зависимости от того в какой она queue, если назвать технически, зависит и когда калбек будет вызван
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Вызов каждого колбека в каждй очередь создаёт стек
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Если калбек рекурсивный, то стек будет наполняться
источник

GH

Gagik Harutyunyan in JavaScript — русскоговорящее сообщество
Sm•ok 😈✔️
Есть очередь калбеков.

В микротасках
В макротасках
микротаски блокируют контент?
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
И дальше уже в конце в порядке LIFO завершит и пойдет за след калбеком
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Gagik Harutyunyan
микротаски блокируют контент?
Зависит от того на сколько сложный калбек)
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Promise.resolve.then(()  => бесконечный цикл)
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Внутри then лежит калбек
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Konstantin Sedykh
так и до генераторов когда-нибудь доберётесь... 😂
А что они решают, если они синхронные?
источник

GH

Gagik Harutyunyan in JavaScript — русскоговорящее сообщество
Sm•ok 😈✔️
Зависит от того на сколько сложный калбек)
но простые же не блокируют? Например логика приложения сложная, но микротаски просто тянут данные из сервера, они же не будут блокировать, если бы блокировали например тот же лоадер не выводился
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Микротаск калбек может тоже быть сложным
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Вы после ответа запустили бесконечный цикл)
источник

НК

Назар Калитюк... in JavaScript — русскоговорящее сообщество
Gagik Harutyunyan
но простые же не блокируют? Например логика приложения сложная, но микротаски просто тянут данные из сервера, они же не будут блокировать, если бы блокировали например тот же лоадер не выводился
http запросы исполняются в отдельном потоке.
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Назар Калитюк
http запросы исполняются в отдельном потоке.
Более того, это делает не жс
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
Не зря ведь назвали браузерное апи
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
fetch(url) лишь вызывает функцию браузера
источник

S

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