我正在尝试创建将捕获错误并会影响其他管道的通用管道。
我们的制作人:
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]
这似乎合乎逻辑,但是有什么办法可以跳过一个管道吗?