|
0 / 0 / 0
Регистрация: 23.03.2024
Сообщений: 9
|
|
Временно запретить прерывание07.06.2024, 22:04. Показов 569. Ответов 5
Здравствуйте!
Можно ли в скрипте временно задержать выполнение событий, пока не будет выполнена последовательность кода? Мне важно, чтобы в событиях не были изменены переменные, которые участвуют в этом "защищаемом" блоке, т.к. результат тогда будет некорректный, ведь часть переменных остались старыми, а часть обновилась. Как только эти строчки кода будут отработаны, события должны снова включиться в работу. Очень желательно, чтобы они не были потеряны. Т.е., если, например, во время исполнения защищённого блока была нажата кнопка мыши, то пусть она будет отработана, но после завершения блока. Спасибо!
0
|
|
| 07.06.2024, 22:04 | |
|
Ответы с готовыми решениями:
5
Можно ли запретить или временно приостановить удаление дочерних объектов? Как временно запретить доступ на сайт, чтобы там было написано Запретить прерывание программы в IDE по исключению Except |
|
1249 / 1153 / 178
Регистрация: 21.01.2024
Сообщений: 5,380
|
|
| 08.06.2024, 08:31 | |
|
В Js нет прерываний. Js выполняется в одном потоке и никакое событие не может прервать выполняемый код. Обработка любого события начинается только тогда, когда выполняемый в данный момент код будет выполнен полностью. События не "теряются" - они ставятся в очередь.
1
|
|
|
250 / 184 / 58
Регистрация: 12.03.2021
Сообщений: 1,043
|
|
| 10.06.2024, 11:13 | |
|
не очень понял, но будто бы это про таймауты. или что-то типа жизненного цикла (react). или ещё что-то =/
0
|
|
|
3823 / 1661 / 428
Регистрация: 14.03.2022
Сообщений: 4,168
|
||
| 10.06.2024, 11:38 | ||
|
https://learn.javascript.ru/event-loop Так же желательно делать тестовые примеры для демонстрации свои х проблем. На них же могут показать варианты их решений.
0
|
||
|
1249 / 1153 / 178
Регистрация: 21.01.2024
Сообщений: 5,380
|
|
| 10.06.2024, 11:41 | |
Сообщение было отмечено DigitalTony как решение
Решение
Это про все. Про любые события. Реакт это все равно js. И при работе он использует те же самые механизмы цикла событий Js.
Работает это так. Когда происходит событие, оно ставится в очередь событий. Под событием тут понимается не только клики, движения мыши и нажатия кнопок клавиатуры, но и срабатывания таймера, окончание загрузки ресурса (страницы, картинки, файла в файлридере...) Параллельно работает цикл событий (event loop). Из очереди берется очередное событие, если оно есть, и выполняются все его обработчики. (это фаза называется задача - task).Пока они выполняются, ничто не может это прервать. Все происходящие в этот момент события просто ставятся в конец очереди. Когда все обработчики выполнены, начинается фаза микрозадач (microtask). В этой фазе выполняются все разрешенные к этому моменту promise, функции обратного вызова MutationObserver, и микрозадачи поставленные в очередь с помощью queueMicrotask. Далее в браузере идет рендер страницы - Выполняются функции заданные requestAnimationFrame, потом пересчет стилей, если были изменения в DOM, и отрисовка страницы. Затем из очереди событий берется очередное событие и все по новой. Смысл этого, что ни одно событие не прерывает выполняющиеся функции. События ставятся в очередь, и их обработчики выполняются, когда очередь дойдет до них. Поэтому желательно не делать обработчики слишком длительными. Длительные задачи, требующие сложных вычислений лучше выносить в worker или разбивать их на более короткие части, уступая время обработке других событий.
2
|
|
|
0 / 0 / 0
Регистрация: 23.03.2024
Сообщений: 9
|
|
| 10.06.2024, 14:35 [ТС] | |
|
Огромное спасибо!
Теперь всё стало ясно. Этой проблемы нет, больше о ней не беспокоюсь.
0
|
|
| 10.06.2024, 14:35 | |
|
Помогаю со студенческими работами здесь
6
Как запретить скачивание файла но не запретить его исполнение. Питание ЮСБ -запретить отключение или запретить? Сателлит - временно Сервер временно недоступен Временно остановить службы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|