This page was translated from English by the community. Learn more and join the MDN Web Docs community.
window.requestIdleCallback()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Want more support for this feature? Tell us why.
Метод window.requestIdleCallback() ставит в очередь функцию, которая будет вызываться во время периодов простоя браузера. Это позволяет разработчикам выполнять фоновую и низкоприоритетную работу в основном цикле событий, без влияния на такие критично важные события, как анимация и обработка ввода. Функции обычно вызываются в порядке добавления в очередь, однако функции с заданными timeout могут быть вызваны не по порядку, если необходимо запустить их до истечения таймаута.
Вы можете вызвать requestIdleCallback() внутри callback-функции в режиме ожидания для планирования запуска другой функции, который произойдёт не раньше, чем следующая фаза цикла событий.
Примечание:
Параметр timeout настоятельно рекомендован для использования, потому что в противном случае может пройти несколько секунд прежде, чем будет вызвана callback-функция.
Синтаксис
requestIdleCallback(callback)
requestIdleCallback(callback, options)
Параметры
callback-
Ссылка на функцию, которая должна быть вызвана в ближайшем будущем, когда цикл событий будет в режиме ожидания. Функции передаётся объект
IdleDeadline, описывающий количество доступного времени и был ли запущена функция. optionsНеобязательный-
Содержит необязательные параметры конфигурации. На текущий момент, определено только одно свойство:
timeout-
Если количество миллисекунд, представленное этим параметром, истекло, а callback-функция ещё не была вызвана, то задача выполнения callback-функции ставится в очередь в цикле событий (даже если это может отрицательно повлиять на производительность). Значение
timeoutдолжно быть положительным числом, иначе будет проигнорировано.
Возвращаемое значение
Возвращает ID, который может быть использован для отмены callback-функции, с помощью метода window.cancelIdleCallback().
Пример
Посмотрите наш готовый пример в статье Cooperative Scheduling of Background Tasks API.
Спецификации
| Specification |
|---|
| requestIdleCallback()> # the-requestidlecallback-method> |
Совместимость с браузерами
Enable JavaScript to view this browser compatibility table.