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
排程器 (Scheduler) 上操作,但也有一個變體,允許您透過將其作為參數傳入來選擇排程器。
timestamp()
timestamp(Scheduler)
timestamp
方法會將發射 T 類型項目的 Observable 轉換為發射 Timestamped<T>
類型物件的 Observable,其中每個此類物件都標記有最初發射的時間。
timestamp
預設在 computation
排程器 (Scheduler) 上操作,但也有一個變體,允許您透過將其作為參數傳入來選擇排程器。
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
排程器 (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
。
記錄 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!
待定