123456789101112131415161718192021 |
- import { Observable } from '../Observable';
- import { SchedulerLike } from '../types';
- import { Subscription } from '../Subscription';
- export function schedulePromise<T>(input: PromiseLike<T>, scheduler: SchedulerLike) {
- return new Observable<T>(subscriber => {
- const sub = new Subscription();
- sub.add(scheduler.schedule(() => input.then(
- value => {
- sub.add(scheduler.schedule(() => {
- subscriber.next(value);
- sub.add(scheduler.schedule(() => subscriber.complete()));
- }));
- },
- err => {
- sub.add(scheduler.schedule(() => subscriber.error(err)));
- }
- )));
- return sub;
- });
- }
|