1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import { Subscriber } from '../Subscriber';
- import { Notification } from '../Notification';
- export function observeOn(scheduler, delay = 0) {
- return function observeOnOperatorFunction(source) {
- return source.lift(new ObserveOnOperator(scheduler, delay));
- };
- }
- export class ObserveOnOperator {
- constructor(scheduler, delay = 0) {
- this.scheduler = scheduler;
- this.delay = delay;
- }
- call(subscriber, source) {
- return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));
- }
- }
- export class ObserveOnSubscriber extends Subscriber {
- constructor(destination, scheduler, delay = 0) {
- super(destination);
- this.scheduler = scheduler;
- this.delay = delay;
- }
- static dispatch(arg) {
- const { notification, destination } = arg;
- notification.observe(destination);
- this.unsubscribe();
- }
- scheduleMessage(notification) {
- const destination = this.destination;
- destination.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));
- }
- _next(value) {
- this.scheduleMessage(Notification.createNext(value));
- }
- _error(err) {
- this.scheduleMessage(Notification.createError(err));
- this.unsubscribe();
- }
- _complete() {
- this.scheduleMessage(Notification.createComplete());
- this.unsubscribe();
- }
- }
- export class ObserveOnMessage {
- constructor(notification, destination) {
- this.notification = notification;
- this.destination = destination;
- }
- }
- //# sourceMappingURL=observeOn.js.map
|