Size: a a a

2019 August 14

ИМ

Игорь Морозов... in FrontCoder
Evgeny М.
ok спс
или как вариант в поиске codepen ввести captcha, там есть с кодом готовым
источник

Evgeny М. in FrontCoder
источник

S

Sm•ok 😈✔️ in FrontCoder
Игорь Морозов
Будет примерно так:
Выполняем клик - проверяем, надо ли пересчитать интерфейс - смотрим есть ли микрозадачи, если есть - выполнить все. - проверяем, надо ли пересчитать интерфейс. -  смотрим есть ли микрозадачи, если есть - выполнить все, если нет - выполняем клик
почему после выполнения всех микротасков снов проверяем микротаски ?
источник

S

Sm•ok 😈✔️ in FrontCoder
пропускаем проверку на таски
источник

MI

Muhammadamin Ibragim... in FrontCoder
Sm•ok 😈✔️
почему после выполнения всех микротасков снов проверяем микротаски ?
вы тут про event loop?
источник

S

Sm•ok 😈✔️ in FrontCoder
Da
источник

MI

Muhammadamin Ibragim... in FrontCoder
Sm•ok 😈✔️
пропускаем проверку на таски
тогда он не так работает
источник

S

Sm•ok 😈✔️ in FrontCoder
Muhammadamin Ibragimov
тогда он не так работает
Насчет ?
источник

ИМ

Игорь Морозов... in FrontCoder
Sm•ok 😈✔️
почему после выполнения всех микротасков снов проверяем микротаски ?
Если микрозадача размещается в очереди микрозадач, она получает приоритет и запускается на выполнение даже в том случае, если ранее поставленная в очередь МАКРОзадача уже ожидает своей очереди на выполнение.
Проверка происходит потому, что браузеру "выгодно" сначала выполнить все "микрозадачи", поэтому он после проверки интерфейса проверяет, не появилиь ли новые микрозадачи (что бы как можно быстрее выполнить их) и выполняет дальше очередь, если ничего не нашел
источник

MI

Muhammadamin Ibragim... in FrontCoder
Sm•ok 😈✔️
Насчет ?
он всегда проверяет что есть в стеке если что то есть виполняет
источник

S

Sm•ok 😈✔️ in FrontCoder
Muhammadamin Ibragimov
он всегда проверяет что есть в стеке если что то есть виполняет
шо ?
источник

S

Sm•ok 😈✔️ in FrontCoder
что ты имеешь ввиду под стеком
источник

MI

Muhammadamin Ibragim... in FrontCoder
Sm•ok 😈✔️
что ты имеешь ввиду под стеком
все обработчики эвентов промиси таймери
источник

S

Sm•ok 😈✔️ in FrontCoder
Игорь Морозов
Если микрозадача размещается в очереди микрозадач, она получает приоритет и запускается на выполнение даже в том случае, если ранее поставленная в очередь МАКРОзадача уже ожидает своей очереди на выполнение.
Проверка происходит потому, что браузеру "выгодно" сначала выполнить все "микрозадачи", поэтому он после проверки интерфейса проверяет, не появилиь ли новые микрозадачи (что бы как можно быстрее выполнить их) и выполняет дальше очередь, если ничего не нашел
ну смотри. Есть у нас стэк микрозадач. Он выполнится на 100%, далее снова проверяет луп на наличие тасков
источник

S

Sm•ok 😈✔️ in FrontCoder
Muhammadamin Ibragimov
все обработчики эвентов промиси таймери
а при чем тут это ? Таймер же вообще не микротаск ?
источник

S

Sm•ok 😈✔️ in FrontCoder
Sm•ok 😈✔️
ну смотри. Есть у нас стэк микрозадач. Он выполнится на 100%, далее снова проверяет луп на наличие тасков
на сколько помню, еще таски ливают в очереди lifo
источник

MI

Muhammadamin Ibragim... in FrontCoder
Sm•ok 😈✔️
а при чем тут это ? Таймер же вообще не микротаск ?
сорри не читал обсуждения с начало не понял что такое таск микротаск
источник

ИМ

Игорь Морозов... in FrontCoder
Sm•ok 😈✔️
ну смотри. Есть у нас стэк микрозадач. Он выполнится на 100%, далее снова проверяет луп на наличие тасков
думаю тут акцент на следующее:
у нас есть к примеру n - микрозадач, следовательно они все выполнятся (на пример)  за 50ms, после чего идет перерасчет элементов. Но за эти 50 ms может попасть в очередь еще одна микрозадача, (например на 35ой ms), но такое же может в теории случиться. Поэтому браузер проверит после перерасчета, "не появилось ли чего нового", если появилось - давайте выполним, если нет - след макрозадача (ну или просто задача)
источник

S

Sm•ok 😈✔️ in FrontCoder
Muhammadamin Ibragimov
сорри не читал обсуждения с начало не понял что такое таск микротаск
Таск это задачи всякие, типа таймаута или вроде как функция, которую нужно выполнить думаю.

Когда у тебя будет очередь из тасков, то во время 1 цикла лупа выполняется 1 таск из очереди тасков

Далее вроде дело за animation callbacks, там он выполнит все текущие в очереди

Далее микротаски (промис к примеру), выполнит все, пока не перестанут появлятся новые
источник

MI

Muhammadamin Ibragim... in FrontCoder
Sm•ok 😈✔️
Таск это задачи всякие, типа таймаута или вроде как функция, которую нужно выполнить думаю.

Когда у тебя будет очередь из тасков, то во время 1 цикла лупа выполняется 1 таск из очереди тасков

Далее вроде дело за animation callbacks, там он выполнит все текущие в очереди

Далее микротаски (промис к примеру), выполнит все, пока не перестанут появлятся новые
теперь ясно)
источник