Spec-Zone.ru › ReactiveX

Маркировка времени

прикрепить отметку времени к каждому элементу, испускаемому Observable, указывая, когда он был испущен
Timestamp

Оператор Timestamp прикрепляет отметку времени к каждому элементу, испускаемому исходным Observable, перед повторным испусканием этого элемента в собственной последовательности. Отметка времени указывает, во сколько время был испущен элемент.

См. также

  • Timestamp
  • Введение в Rx: Маркировка времени и интервал времени
  • 101 Примеры Rx: Маркировка времени

Информация, специфичная для языка

RxGroovy timestamp

timestamp

Метод timestamp преобразует Observable, испускающий элементы типа T, в Observable, испускающий объекты типа Timestamped<T>, где каждый такой объект помечен временем, в которое он был первоначально испущен.

def myObservable = Observable.range(1, 1000000).filter({ 0 == (it % 200000) });

myObservable.timestamp().subscribe(
  { println(it.toString()); },               // onNext
  { println("Error: " + it.getMessage()); }, // onError
  { println("Sequence complete"); }          // onCompleted
);
Timestamped(timestampMillis = 1369252582698, value = 200000)
Timestamped(timestampMillis = 1369252582740, value = 400000)
Timestamped(timestampMillis = 1369252582782, value = 600000)
Timestamped(timestampMillis = 1369252582823, value = 800000)
Timestamped(timestampMillis = 1369252582864, value = 1000000)
Sequence complete

Метод timestamp по умолчанию работает с immediate Scheduler, но также есть вариант, позволяющий выбрать Scheduler, передав его в качестве параметра.

  • Javadoc: timestamp()
  • Javadoc: timestamp(Scheduler)

RxJava 1․x timestamp

timestamp

Метод timestamp преобразует Observable, испускающий элементы типа T, в Observable, испускающий объекты типа Timestamped<T>, где каждый такой объект помечен временем, в которое он был первоначально испущен.

Метод timestamp по умолчанию работает с immediate Scheduler, но также есть вариант, позволяющий выбрать Scheduler, передав его в качестве параметра.

  • Javadoc: timestamp()
  • Javadoc: timestamp(Scheduler)

RxJS timestamp

timestamp

Метод timestamp прикрепляет отметку времени к каждому элементу, испускаемому исходным Observable, перед испусканием этого элемента как части собственной последовательности. Отметка времени указывает, когда элемент был испущен исходным Observable.

Пример кода

var source = Rx.Observable.timer(0, 1000)
    .timestamp()
    .map(function (x) { return x.value + ':' + x.timestamp; })
    .take(5);

var subscription = source.subscribe(
    function (x) { console.log('Next: ' + x); },
    function (err) { console.log('Error: ' + err); },
    function () { console.log('Completed'); });
Next: 0:1378690776351
Next: 1:1378690777313
Next: 2:1378690778316
Next: 3:1378690779317
Next: 4:1378690780319
Completed

Метод timestamp по умолчанию работает с timeout Scheduler, но также есть вариант, позволяющий указать Scheduler, передав его в качестве параметра.

Метод timestamp доступен в следующих дистрибутивах:

  • rx.all.js
  • rx.all.compat.js
  • rx.time.js (требуется rx.js или rx.compat.js)
  • rx.lite.js
  • rx.lite.compat.js

RxPHP timestamp

RxPHP реализует этот оператор как timestamp.

Записывает отметку времени для каждого значения в последовательности Observable.

Пример кода

//from https://github.com/ReactiveX/RxPHP/blob/master/demo/timestamp/timestamp.php

$source = \Rx\Observable::interval(1000)
    ->timestamp()
    ->map(function (\Rx\Timestamped $x) {
        return $x->getValue() . ':' . $x->getTimestampMillis();
    })
    ->take(5);

$source->subscribe($createStdoutObserver());

// Next value: 0:1460781738354
// Next value: 1:1460781739358
// Next value: 2:1460781740359
// Next value: 3:1460781741362
// Next value: 4:1460781742367
// Complete!
Next value: 0:1489535638531
Next value: 1:1489535639534
Next value: 2:1489535640532
Next value: 3:1489535641528
Next value: 4:1489535642528
Complete!

© ReactiveX contributors
Licensed under the Apache License 2.0.
http://reactivex.io/documentation/operators/timestamp.html

Spec-Zone.ru

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