123456789101112131415161718192021222324252627 |
- import { innerFrom } from '../observable/innerFrom';
- import { createOperatorSubscriber } from './OperatorSubscriber';
- import { operate } from '../util/lift';
- export function catchError(selector) {
- return operate(function (source, subscriber) {
- var innerSub = null;
- var syncUnsub = false;
- var handledResult;
- innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, function (err) {
- handledResult = innerFrom(selector(err, catchError(selector)(source)));
- if (innerSub) {
- innerSub.unsubscribe();
- innerSub = null;
- handledResult.subscribe(subscriber);
- }
- else {
- syncUnsub = true;
- }
- }));
- if (syncUnsub) {
- innerSub.unsubscribe();
- innerSub = null;
- handledResult.subscribe(subscriber);
- }
- });
- }
- //# sourceMappingURL=catchError.js.map
|