rxjs,忽略一个管道

时间:2018-11-30 07:50:29

标签: rxjs observable

我正在尝试创建将捕获错误并会影响其他管道的通用管道。

我们的制作人:

const producer = () => of(1, 2).pipe(
            map((primitiveValue: number) => {
                if (primitiveValue === 2) {
                    return throwError(primitiveValue)
                }
                return {value: primitiveValue};
            }),
        );

此管道将连接到任何生产者,并将侦听错误:

const genericDecorator = (observable) =>
            observable
                .pipe(
                    catchError((primitiveValue) => {
                        return of('some error ' + primitiveValue)
                    })
                );

订阅:

genericDecorator(producer())
                .pipe(
                    map((wrapped) => {
                        return wrapped.value;
                    })
                )
                .subscribe((value) => {
                    result.push(value)
                });

我想要实现的是

result = [1, 'some error 2']

我得到的是

result = [1, undefined]

这似乎合乎逻辑,但是有什么办法可以跳过一个管道吗?

0 个答案:

没有答案