Spec-Zone.ru › Angular.js 1.4

Улучшить документацию Посмотреть исходный код $interval

  1. сервис в модуле ng

Обёртка Angular для window.setInterval. Функция fn выполняется каждые delay миллисекунд.

Значение, возвращаемое при регистрации функции интервала, — это промис. Этот промис уведомляется при каждом тике интервала и разрешается после count итераций или выполняется бесконечно, если count не определено. Значением уведомления будет номер итерации. Чтобы отменить интервал, вызовите $interval.cancel(promise).

В тестах можно использовать $interval.flush(millis), чтобы переместиться вперёд на millis миллисекунд и запустить любые функции, запланированные на выполнение в течение этого времени.

Примечание: Интервалы, созданные этим сервисом, должны быть явно уничтожены после использования. В частности, они не уничтожаются автоматически при уничтожении области видимости контроллера или элемента директивы. Следует учесть это и убедиться, что интервал всегда отменяется в нужный момент. Подробнее о том, как и когда это делать, см. в примере ниже.

Использование

$interval(fn, delay, [count], [invokeApply], [Pass]);

Аргументы

Параметр Тип Описание
fn function()

Функция, которая должна вызываться многократно.

delay number

Количество миллисекунд между каждым вызовом функции.

count
(необязательно)
number

Количество повторений. Если не задано или равно 0, будет повторяться бесконечно.

(по умолчанию: 0)

invokeApply
(необязательно)
boolean

Если установлено в false, пропускается проверка изменённых моделей, в противном случае вызывается fn внутри блока $apply.

(по умолчанию: true)

Pass
(необязательно)
*

Дополнительные параметры для исполняемой функции.

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

promise

Промис, который уведомляется на каждой итерации.

Методы

  • cancel([promise]);

    Отменяет задачу, связанную с promise.

    Параметры

    Параметр Тип Описание
    promise
    (необязательно)
    Promise

    Возвращаемое значение функции $interval.

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

    boolean

    Возвращает true, если задача была успешно отменена.

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.4.14/docs/api/ng/service/$interval

Spec-Zone.ru

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