Aşağıdaki içe aktarımların kullanılması:
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/delay';
Bunu dene:
let fakeResponse = [1,2,3];
let delayedObservable = Observable.of(fakeResponse).delay(5000);
delayedObservable.subscribe(data => console.log(data));
GÜNCELLEME: RXJS 6
Yukarıdaki çözüm artık RXJS'nin daha yeni sürümlerinde (ve örneğin açısal) gerçekten çalışmıyor.
Öyleyse senaryo, bir API ile kontrol etmem gereken bir dizi öğeye sahip olduğum. API yalnızca tek bir öğeyi kabul ediyor ve tüm istekleri tek seferde göndererek API'yi öldürmek istemiyorum. Bu yüzden, Gözlemlenebilir akıştaki öğelerin arada küçük bir gecikmeyle zamanlanmış olarak yayınlanmasına ihtiyacım var.
Aşağıdaki içe aktarmaları kullanın:
import { from, of } from 'rxjs';
import { delay } from 'rxjs/internal/operators';
import { concatMap } from 'rxjs/internal/operators';
Ardından aşağıdaki kodu kullanın:
const myArray = [1,2,3,4];
from(myArray).pipe(
concatMap( item => of(item).pipe ( delay( 1000 ) ))
).subscribe ( timedItem => {
console.log(timedItem)
});
Temel olarak dizinizdeki her öğe için yeni bir 'gecikmeli' Gözlemlenebilir oluşturur. Muhtemelen bunu yapmanın birçok yolu vardır, ancak bu benim için iyi çalıştı ve 'yeni' RXJS formatıyla uyumlu.