Spec-Zone.ru › Web APIs

Метод 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 Нет Нет Нет Нет Нет Нет Нет Нет Нет

См. также

  • Полифилл setImmediate в core-js
  • Демонстрация API setImmediate от Microsoft
  • Window.clearImmediate()
  • Window.requestIdleCallback()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API