Spec-Zone.ru › Angular.js 1.3

Улучшить эту документацию Просмотреть исходный код $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.3.20/docs/api/ng/service/$interval

Spec-Zone.ru

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