27 lines
1.1 KiB
JavaScript
27 lines
1.1 KiB
JavaScript
|
/** 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
|