gpt4 book ai didi

rxjs - pipe() 内的 switchMap VS switchMap 的序列

转载 作者:行者123 更新时间:2023-12-05 00:53:02 29 4
gpt4 key购买 nike

我不知道这之间是否有区别:

Observable.pipe( 
switchMap((res) => {
...
}),
switchMap((res) => {
...
})
);

还有这个:

Observable.pipe(
switchMap((res) => {
...
}).pipe(
switchMap((res) => {
...
}),
)
);

您能否帮助我了解处理数据的方式是否存在差异?

谢谢

最佳答案

正如它所写的那样,没有区别,但是如果您以后想在管道中添加更多项目,这可能很重要。例如 catchError - 在第一种情况下,如果你将它添加到管道的末尾,那么它将捕获管道的任一步骤抛出的错误,但在第二个例子中,你可以把它在第一个管道内,在内部 switchMap 之后,它只会捕获内部操作的错误。

哦,我刚刚阅读了@serrulien 的评论,他是对的,你的第二个管道不能放在你放置它的地方,它本来应该放在第一个 switchMap 的主体内,例如:

Observable.pipe(
switchMap((res) => {
return someObservable().pipe(
switchMap((res) => {
...
})
})
);

俗话说,剥猫皮的方法有很多种。

关于rxjs - pipe() 内的 switchMap VS switchMap 的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68628196/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com