Интервал
создать Observable, который излучает последовательность целых чисел с заданным интервалом времени
Оператор Interval возвращает Observable, который излучает бесконечную последовательность возрастающих целых чисел с постоянным интервалом времени по вашему выбору между излучениями.
См. также
- Диапазон
- Повторение
- Таймер
- Введение в Rx: Интервал
- 101 Примеры Rx: Наблюдение за течением времени
- 101 Примеры Rx: Интервал — Простой
- ad-hockery: Простая фоновая проверка с RxJava
Информация, специфичная для языка
RxGroovy interval
RxGroovy реализует этот оператор как interval. Он принимает в качестве параметров интервал времени ожидания между излучениями и TimeUnit , в котором измеряется этот интервал.
- Javadoc:
interval(long,TimeUnit) - Javadoc:
interval(long,TimeUnit,Scheduler)
Существует также версия interval, которая возвращает Observable, излучающий единичное нулевое значение после указанной задержки, а затем излучающий последовательно увеличивающиеся числа периодически в заданной периодичности. Эта версия interval называлась timer в RxGroovy 1.0.0, но этот метод с тех пор устарел в пользу метода с именем interval с аналогичным поведением.
- Javadoc:
interval(long,long,TimeUnit) - Javadoc:
interval(long,long,TimeUnit,Scheduler)
interval по умолчанию работает с computation Scheduler. Также есть варианты, которые позволяют вам установить Scheduler, передав его в качестве параметра.
RxJava 1․x interval
RxJava реализует этот оператор как interval. Он принимает в качестве параметров интервал времени ожидания между излучениями и TimeUnit , в котором измеряется этот интервал.
- Javadoc:
interval(long,TimeUnit) - Javadoc:
interval(long,TimeUnit,Scheduler)
Существует также версия interval , которая возвращает Observable, излучающий единичное нулевое значение после указанной задержки, а затем излучающий последовательно увеличивающиеся числа периодически в заданной периодичности. Эта версия interval называлась timer в RxJava 1.0.0, но этот метод с тех пор устарел в пользу метода с именем interval с аналогичным поведением.
- Javadoc:
interval(long,long,TimeUnit) - Javadoc:
interval(long,long,TimeUnit,Scheduler)
interval по умолчанию работает с computation Scheduler. Также есть варианты, которые позволяют вам установить Scheduler, передав его в качестве параметра.
RxJS interval
RxJS реализует этот оператор как interval. Он принимает в качестве параметра количество миллисекунд, которые нужно ждать между излучениями.
interval по умолчанию работает с timeout Scheduler, или вы можете передать другой Scheduler в качестве второго параметра, и interval будет работать с этим Scheduler вместо этого.
Пример кода
var source = Rx.Observable
.interval(500 /* ms */)
.timeInterval()
.take(3);
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + x);
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
});
Next: {value: 0, interval: 500}
Next: {value: 1, interval: 500}
Next: {value: 2, interval: 500}
Completed interval находится в следующих дистрибутивах:
rx.lite.jsrx.lite.compat.js-
rx.timejs(требуетrx.jsилиrx.compat.js)
RxPHP interval
RxPHP реализует этот оператор как interval.
Возвращает Observable, который излучает бесконечную последовательность возрастающих целых чисел, начиная с 0, с постоянным интервалом времени между излучениями по вашему выбору.
Пример кода
//from https://github.com/ReactiveX/RxPHP/blob/master/demo/interval/interval.php
\Rx\Observable::interval(1000)
->take(5)
->subscribe($createStdoutObserver()); Next value: 0 Next value: 1 Next value: 2 Next value: 3 Next value: 4 Complete!
© ReactiveX contributors
Licensed under the Apache License 2.0.
http://reactivex.io/documentation/operators/interval.html