Spec-Zone.ru › Web APIs

Метод Window: requestIdleCallback()

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Метод window.requestIdleCallback() помещает функцию в очередь для вызова в периоды бездействия браузера. Это позволяет разработчикам выполнять фоновую и низкоприоритетную работу в основном цикле обработки событий без влияния на критичные по задержке события, такие как анимация и реакция на ввод. Функции обычно вызываются в порядке очереди «первым пришёл, первым обслужен»; однако, обратные вызовы, у которых задан timeout, могут вызываться вне очереди, если необходимо, чтобы выполнить их до истечения таймаута.

Вы можете вызвать requestIdleCallback() внутри функции обратного вызова в режиме ожидания, чтобы запланировать другой обратный вызов не раньше следующего прохода цикла обработки событий.

Примечание: Обязательно указывать параметр timeout, для необходимой работы, в противном случае могут пройти несколько секунд, прежде чем обратный вызов будет выполнен.

Синтаксис

requestIdleCallback(callback)
requestIdleCallback(callback, options)

Параметры

callback

Ссылка на функцию, которая должна быть вызвана в ближайшем будущем, когда цикл обработки событий будет бездействовать. Функция обратного вызова получает объект IdleDeadline, описывающий доступное время и то, вызван ли обратный вызов из-за истечения таймаута.

options Необязательно

Содержит параметры конфигурации. В настоящее время определён только один параметр:

timeout

Если истекли миллисекунды, указанные в этом параметре, а обратный вызов ещё не был вызван, то задача выполнения обратного вызова помещается в очередь цикла обработки событий (даже если это может отрицательно сказаться на производительности). timeout должно быть положительным значением, в противном случае оно игнорируется.

Возвращаемое значение

Идентификатор, который можно использовать для отмены обратного вызова, передав его в метод window.cancelIdleCallback().

Примеры

См. наш полный пример в статье API планирования фоновых задач в кооперативном режиме.

Спецификации

Спецификация
requestIdleCallback()
# the-requestidlecallback-method

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
requestIdleCallback 47 79 55 34 Нет 47 55 34 Нет 5.0 47

См. также

  • Window.cancelIdleCallback()
  • IdleDeadline
  • Window.setTimeout()
  • Window.setInterval()
  • Window.requestAnimationFrame()

© 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/requestIdleCallback

Spec-Zone.ru

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