Size: a a a

2019 August 14

ИМ

Игорь Морозов... in FrontCoder
К тому, что они выполняются по очереди
источник

ИМ

Игорь Морозов... in FrontCoder
Где тут ошибка?
источник

VF

Valentin Fedyakov in FrontCoder
Основываясь на этом алгоритме, как ты о пишешь ситуацию когда пользователь кликнул во время тяжёлой задачи?
источник

ИМ

Игорь Морозов... in FrontCoder
Тут моделируется ситуация, когда основной код выполняется 18 ms а пользователь кликнул на 10 ms
источник

ИМ

Игорь Морозов... in FrontCoder
Это пример абстрактен, тк человек так быстро не нажмет, но смоделировано для того, что бы показать как работает очередь
источник

ИМ

Игорь Морозов... in FrontCoder
Клик не прерывает выполнение основной задачи
источник

ИМ

Игорь Морозов... in FrontCoder
Никакой тут отпечатки нет, и не может быть. И на выполнение таймеров воооообще никак не влияют
источник

S

Sm•ok 😈✔️ in FrontCoder
Valentin Fedyakov
Микротаски. Ты путаешь с промисами. А таймер работают через обычную очередь задач. Плюс ко всему хоть js и однопоточен, но таймер асинхронны и после выполнения в стеке попадают в вебапи который представляет собой что то типо тредов. Почти параллельность, если рассматривать тот же c++. По этому ответ не верный
Таймер относится к таскам?
источник

S

Sm•ok 😈✔️ in FrontCoder
На сколько помню, таски отличаются от микотасков тем, что вначале в лупе выполняется первый таск, далее идёт вроде обработка анимации, отрабатывают все в текущем стеке. А когда дело доходит до микротасков, они выполняются все, пока не кончатся
источник

ИМ

Игорь Морозов... in FrontCoder
(все именно так)
источник

S

Sm•ok 😈✔️ in FrontCoder
Игорь Морозов
(все именно так)
Таймер таск, а вот промисы микротаски, верно?
источник

S

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

ИМ

Игорь Морозов... in FrontCoder
Да, простите я хотел написать макрозадачи, а написал микрозадачи..
источник

VF

Valentin Fedyakov in FrontCoder
Игорь Морозов
Где тут ошибка?
посмотри на второе условие "очередь пуста?" оно циклится, если пользователь раз 1000 нажмет на кнопку мыши и тем самым в вебапи создаст 1000 асинхронных команд которые сразуже отправятся в очередь задач, то вот этот второй пункт создает ситуацию, когда перерисовка не будет выполнена пока не выполнятся все коллбеки этих кликов, я бы сказал - синхронно.
источник

ИМ

Игорь Морозов... in FrontCoder
Обновление пользовательского интерфейса является сложной операцией, и поэтому браузер может отказаться от его выполнения, если не было запроса на ЯВНЫЙ пересчет элементов интерфейса.
Браузер пытается запустить проверку на то, нужен ли пересчет каждые 16.7 ms. Если требуется - он выполнит и между ними
источник

ИМ

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

ИМ

Игорь Морозов... in FrontCoder
(там где "выполняем клик", нужно обрабатываем клик, опечатка)
источник

Evgeny М. in FrontCoder
подскажите как такое реализовать ??
источник

ИМ

Игорь Морозов... in FrontCoder
Evgeny М.
подскажите как такое реализовать ??
я пологаю что это обычная капча, поэтому можете в гугле написать:
js captcha
и выбрать похожую, думаю это то что нужно
источник

Evgeny М. in FrontCoder
Игорь Морозов
я пологаю что это обычная капча, поэтому можете в гугле написать:
js captcha
и выбрать похожую, думаю это то что нужно
ok спс
источник