Spec-Zone.ru › Angular.js 1.2

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

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

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

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

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

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

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

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

Аргументы

Параметр Тип Подробности
fn function()

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

delay number

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

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

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

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

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

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

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

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

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.2.32/docs/api/ng/service/$interval

Spec-Zone.ru

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