Timestamp 操作符在重新发出源 Observable 中的每个项目之前,会将其时间戳附加到每个项目。时间戳指示该项目是在何时发出的。
待定
待定
timestamp 方法将发出类型为 T 的项目的 Observable 转换为发出类型为 Timestamped<T> 的对象的 Observable,其中每个这样的对象都带有其最初发出时间的标记。
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 默认情况下在 computation 调度器 上运行,但也有一个变体,允许您通过将调度器作为参数传入来选择调度器。
timestamp()timestamp(Scheduler)
timestamp 方法将发出类型为 T 的项目的 Observable 转换为发出类型为 Timestamped<T> 的对象的 Observable,其中每个这样的对象都带有其最初发出时间的标记。
timestamp 默认情况下在 computation 调度器 上运行,但也有一个变体,允许您通过将调度器作为参数传入来选择调度器。
timestamp()timestamp(Scheduler)
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 调度器 上运行,但也有一个变体,允许您通过将调度器作为参数传入来指定调度器。
timestamp 存在于以下每个发行版中
rx.all.jsrx.all.compat.jsrx.time.js(需要 rx.js 或 rx.compat.js)rx.lite.jsrx.lite.compat.jsRxPHP 将此操作符实现为 timestamp。
记录可观察序列中每个值的 timestamp。
//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!
待定