UNPKG

rxjs

Version:

Reactive Extensions for modern JavaScript

24 lines (22 loc) 658 B
/** @prettier */ import { Observable } from '../Observable'; import { SchedulerLike } from '../types'; export function schedulePromise<T>(input: PromiseLike<T>, scheduler: SchedulerLike) { return new Observable<T>((subscriber) => { return scheduler.schedule(() => input.then( (value) => { subscriber.add( scheduler.schedule(() => { subscriber.next(value); subscriber.add(scheduler.schedule(() => subscriber.complete())); }) ); }, (err) => { subscriber.add(scheduler.schedule(() => subscriber.error(err))); } ) ); }); }