gpt4 book ai didi

angular - 在 rxjs 中条件化平面图的执行 - Angular 5

转载 作者:行者123 更新时间:2023-12-02 14:24:57 28 4
gpt4 key购买 nike

在 rxjs 中,我想对多个平面图设置一个条件,这样我就不会执行第二个和第三个平面图,而是直接进行订阅:

this.authenticationAPI.getUser()
.flatmap(response1 => if(response1 != null) // I want to go directly to subscribe
.flatmap(response2 => return observable2(response2))
.flatmap(response3 => return observable3(response3))
.subscribe(response 4 => console.log(response4));

我考虑过将 null observables 传递给第二个和第三个平面图,但是还有其他解决方案吗?

最佳答案

您应该使用过滤器区分两种情况:失败和成功。这种方式更具声明性并且更易于阅读

const response$ = this.authenticationAPI.getUser();

// failure
response$
.filter((res) => !res)
.subscribe(() => {
console.log('Unauthentication')
});

// success
response$
.filter((res) => res)
.flatmap(response2 => return observable2(response2))
.flatmap(response3 => return observable3(response3))
.subscribe(response 4 => console.log(response4));

关于angular - 在 rxjs 中条件化平面图的执行 - Angular 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51825892/

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