--- title: window.requestIdleCallback() slug: Web/API/Window/requestIdleCallback translation_of: Web/API/Window/requestIdleCallback ---
{{APIRef("HTML DOM")}}{{SeeCompatTable}}

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

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

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

Синтаксис

var handle = window.requestIdleCallback(callback[, options])

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

Возвращает ID, который может быть использован для отмены колбэка, передав значение в метод {{domxref("window.cancelIdleCallback()")}}.

Параметры

callback
Ссылка на функцию, что должна быть вызвана в ближайшем будущем, когда цикл событий в режиме ожидания. Функции передаётся объект {{domxref("IdleDeadline")}} описывающий общее количество доступного времени и был ли выполнен callback, потому что таймаут истёк.
options {{optional_inline}}
Содержит опциональные параметры конфигурации. На текущий момент, определено только одно свойство:

Пример

Посмотрите наш готовый пример в статье Cooperative Scheduling of Background Tasks API.

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

Спецификация Статус Комментарий
{{SpecName('Background Tasks')}} {{Spec2('Background Tasks')}} Initial definition.

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

{{CompatibilityTable}}

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support {{CompatChrome(47)}} {{CompatNo}} {{CompatGeckoDesktop(55)}} {{CompatNo}} {{CompatOpera(34)}} {{CompatNo}}
Feature Android Webview Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatChrome(47)}} {{CompatChrome(47)}} {{CompatGeckoMobile(55)}} {{CompatNo}} {{CompatNo}} {{CompatUnknown}} {{CompatNo}}

requestIdleCallback() включён в Firefox 53 но по умолчанию отключён. По умолчанию включён, начиная с Firefox 55.

Смотрите также