2018-11-22 16:41:46 +01:00
|
|
|
import { Observable } from '../Observable';
|
|
|
|
import { from } from './from';
|
|
|
|
import { empty } from './empty';
|
|
|
|
export function defer(observableFactory) {
|
|
|
|
return new Observable(subscriber => {
|
|
|
|
let input;
|
|
|
|
try {
|
|
|
|
input = observableFactory();
|
|
|
|
}
|
|
|
|
catch (err) {
|
|
|
|
subscriber.error(err);
|
|
|
|
return undefined;
|
|
|
|
}
|
|
|
|
const source = input ? from(input) : empty();
|
|
|
|
return source.subscribe(subscriber);
|
|
|
|
});
|
|
|
|
}
|
2019-06-04 14:29:48 +02:00
|
|
|
//# sourceMappingURL=defer.js.map
|