lunaisadev-website-old/node_modules/rxjs/_esm2015/operators/subscribeOn.js

27 lines
982 B
JavaScript

import { SubscribeOnObservable } from '../observable/SubscribeOnObservable';
/**
* Asynchronously subscribes Observers to this Observable on the specified IScheduler.
*
* <img src="./img/subscribeOn.png" width="100%">
*
* @param {Scheduler} scheduler - The IScheduler to perform subscription actions on.
* @return {Observable<T>} The source Observable modified so that its subscriptions happen on the specified IScheduler.
.
* @method subscribeOn
* @owner Observable
*/
export function subscribeOn(scheduler, delay = 0) {
return function subscribeOnOperatorFunction(source) {
return source.lift(new SubscribeOnOperator(scheduler, delay));
};
}
class SubscribeOnOperator {
constructor(scheduler, delay) {
this.scheduler = scheduler;
this.delay = delay;
}
call(subscriber, source) {
return new SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber);
}
}
//# sourceMappingURL=subscribeOn.js.map