Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.11.2021, 08:31
Аватар для FireVolkhov
Аспирант
Отправить личное сообщение для FireVolkhov Посмотреть профиль Найти все сообщения от FireVolkhov
 
Регистрация: 17.04.2013
Сообщений: 88

Подскажите альтернатива setTimeout и setInterval
Доброго дня, коллеги, возникла потребность в асинхронной альтернативе setTimeout, setInterval, сейчас я использую запись в Индекс ДБ как такой аналог прерывания рутины в js движке, но дело затратное по ресурсам, возможно кто-то знает еще варианты вызовов в нативном js, которые работаю на основе колбэков и возвращаются в новой рутине?

Последний раз редактировалось FireVolkhov, 25.11.2021 в 08:40.
Ответить с цитированием
  #2 (permalink)  
Старый 25.11.2021, 09:57
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,616

Сообщение от FireVolkhov
рутине
Что это такое?
Ответить с цитированием
  #3 (permalink)  
Старый 25.11.2021, 09:57
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 1,460

Поясните еще раз (если не по-русски, то хотя бы в терминах javascript),
где что вызываете, и где что должно возвращаться?
Ответить с цитированием
  #4 (permalink)  
Старый 25.11.2021, 10:28
Аватар для FireVolkhov
Аспирант
Отправить личное сообщение для FireVolkhov Посмотреть профиль Найти все сообщения от FireVolkhov
 
Регистрация: 17.04.2013
Сообщений: 88

Ситуация такова, у меня есть набор вкладок и они не активны, в неактивных вкладках все setTimeout и setInterval задерживаются до 1000 мс, но в Сафари все намного хуже, он задерживает и на 20 сек и на 40 сек вызов функции в setTimeout, то есть я получаю случайный задержку от 1 сек до 40 сек, на таймаутах строится коммуникация вкладок и определение живых вкладок, но из-за непредсказуемых задержек вся механика ломается.
Поэтому мне нужна какая либо альтернатива таймаута, которая не попадет под "заморозку" в неактивной вкладке, надеюсь стало немного понятнее
Ответить с цитированием
  #5 (permalink)  
Старый 25.11.2021, 10:37
Аватар для FireVolkhov
Аспирант
Отправить личное сообщение для FireVolkhov Посмотреть профиль Найти все сообщения от FireVolkhov
 
Регистрация: 17.04.2013
Сообщений: 88

Под рутиной подразумевал поток выполняемого кода до завершения всего синхронного кода,
Например функция помещенная в setTimeout будет запущена как отдельный поток в будущем, сейчас она не будет блокировать браузер
Ответить с цитированием
  #6 (permalink)  
Старый 25.11.2021, 11:43
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 1,460

Сообщение от FireVolkhov
Поэтому мне нужна какая либо альтернатива таймаута, которая не попадет под "заморозку" в неактивной вкладке, надеюсь стало немного понятнее
Понятнее стало, но похоже никакой альтернативы нет.
Кроме IndexDB, WebSockets и WebRTC все остальное замораживается.
Ну еще вкладка с работающим звуком не попадает под заморозку.
Ответить с цитированием
  #7 (permalink)  
Старый 25.11.2021, 13:39
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,616

FireVolkhov, Web Workers.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с setTimeout arkadii_parovozov Общие вопросы Javascript 9 01.06.2017 13:47
SetTimeOut анимация javascript thystruby Общие вопросы Javascript 1 15.09.2016 11:43
Трудности с setInterval, setTimeout tanto39 jQuery 5 28.06.2014 19:03
подскажите как работает setTimeout ruslan368560 Общие вопросы Javascript 1 17.05.2011 18:48
setTimeout и setInterval срабатывают без задержки! ПОЧЕМУ? shureg Общие вопросы Javascript 1 12.05.2011 09:06