Метод Window: setImmediate()
Устаревший: Данная функция больше не рекомендуется. Хотя некоторые браузеры могут её поддерживать, она может быть уже удалена из соответствующих веб-стандартов, находится в процессе удаления или сохранена только для совместимости. Избегайте её использования и, при возможности, обновите существующий код; см. таблицу совместимости внизу этой страницы для принятия решения. Имейте в виду, что эта функция может перестать работать в любой момент.
Нестандартный: Данная функция нестандартна и не находится на стадии стандартизации. Не используйте её на производственных сайтах, обращённых к сети: она не будет работать для каждого пользователя. Также могут быть значительные несовместимости между реализациями, и поведение может измениться в будущем.
Этот метод используется для разделения длительных операций и выполнения обратного вызова сразу после того, как браузер завершит другие операции, такие как обработка событий и обновление отображения.
Синтаксис
setImmediate(func) setImmediate(func, param1) setImmediate(func, param1, param2) setImmediate(func, param1, param2, /* …, */ paramN)
Параметры
func-
Функция, которую требуется вызвать.
param1, …,paramN-
Все параметры будут переданы непосредственно вашей функции.
Возвращаемое значение
Идентификатор непосредственного выполнения, который может быть использован позже с window.clearImmediate.
Примечания
Метод clearImmediate() может использоваться для отмены запланированных действий, аналогично clearTimeout() для setTimeout().
Этот метод может быть использован вместо метода setTimeout(fn, 0) для выполнения сложных операций.
Данную функцию можно эмулировать несколькими способами:
-
postMessage()может быть использована для вызова обратного вызова сразу же, но уступая управление. -
MessageChannelможет быть использована надёжно внутри Web Workers, тогда как семантика postMessage означает, что она там не может быть использована. -
setTimeout(fn, 0)может потенциально использоваться, однако, поскольку она ограничена 4 мс для таймеров, вложенных более чем на 5 уровней, согласно спецификации HTML, она не подходит в качестве полифилла для естественной немедленностиsetImmediate.
Все эти методы включены в надёжный полифилл setImmediate.
Спецификации
Не входит в состав каких-либо текущих спецификаций. Спецификация Эффективного сдачи управления скриптом больше не разрабатывается.
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
setImmediate |
Нет | 12–79 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Window/setImmediate