निम्नलिखित आयातों का उपयोग करना:
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/delay';
इसे इस्तेमाल करे:
let fakeResponse = [1,2,3];
let delayedObservable = Observable.of(fakeResponse).delay(5000);
delayedObservable.subscribe(data => console.log(data));
अद्यतन: RXJS 6
उपरोक्त समाधान वास्तव में RXJS के नए संस्करणों में काम नहीं करता है (और उदाहरण के लिए कोणीय)।
तो परिदृश्य यह है कि मेरे पास एपीआई के साथ जांचने के लिए मदों की एक सरणी है। एपीआई केवल एक ही आइटम को स्वीकार करता है, और मैं एक बार में सभी अनुरोध भेजकर एपीआई को मारना नहीं चाहता। इसलिए मुझे बीच में एक छोटी सी देरी के साथ ऑब्जर्वेबल स्ट्रीम पर वस्तुओं की समयबद्ध रिलीज की आवश्यकता है।
निम्नलिखित आयातों का उपयोग करें:
import { from, of } from 'rxjs';
import { delay } from 'rxjs/internal/operators';
import { concatMap } from 'rxjs/internal/operators';
फिर निम्नलिखित कोड का उपयोग करें:
const myArray = [1,2,3,4];
from(myArray).pipe(
concatMap( item => of(item).pipe ( delay( 1000 ) ))
).subscribe ( timedItem => {
console.log(timedItem)
});
यह मूल रूप से आपके सरणी में प्रत्येक आइटम के लिए एक नया 'विलंबित' अवलोकन योग्य बनाता है। इसे करने के कई अन्य तरीके हैं, लेकिन यह मेरे लिए ठीक है, और 'नए' आरएक्सजेएस प्रारूप का अनुपालन करता है।