27 lines
1.1 KiB
JavaScript
Raw Normal View History

/** PURE_IMPORTS_START _Observable,_Subscription,_util_subscribeToPromise PURE_IMPORTS_END */
import { Observable } from '../Observable';
import { Subscription } from '../Subscription';
import { subscribeToPromise } from '../util/subscribeToPromise';
export function fromPromise(input, scheduler) {
if (!scheduler) {
return new Observable(subscribeToPromise(input));
}
else {
return new Observable(function (subscriber) {
var sub = new Subscription();
sub.add(scheduler.schedule(function () {
return input.then(function (value) {
sub.add(scheduler.schedule(function () {
subscriber.next(value);
sub.add(scheduler.schedule(function () { return subscriber.complete(); }));
}));
}, function (err) {
sub.add(scheduler.schedule(function () { return subscriber.error(err); }));
});
}));
return sub;
});
}
}
//# sourceMappingURL=fromPromise.js.map