首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在另一次订阅火灾后开始订阅

在另一次订阅火灾后开始订阅
EN

Stack Overflow用户
提问于 2020-01-09 09:51:07
回答 1查看 93关注 0票数 1

有两个可观测值:ab。我想订阅第二个可观测(b)之后,第一个可观测(a)已经启动(即已经产生了非常第一个onNext事件)。

我试过了

代码语言:javascript
运行
复制
    b.skipUntil(a).subscribe(onNext:{
        print("B: \($0)")
    }).disposed(by: _bag)

但没有运气,因为b是一个寒冷,可观察。据我所知,它立即启动,并被skipUntil(a)阻塞。

这一办法似乎有效:

代码语言:javascript
运行
复制
    a.subscribe(onNext:{_ in
        // ... handle a ...

        b.subscribe(onNext:{
            print("B: \($0)")
        }).disposed(by: self._bag)
    }).disposed(by: _bag)

但我意识到这是一种糟糕的做法,而不是一条路可走。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-09 11:17:11

这是一个简单的flatMap

代码语言:javascript
运行
复制
let c = a.flatMap { _  in b }

您可能希望在.take(1)之前添加一个flatMap,或者查看flatMap的不同品种,看看哪一个适合您的用例。最好在b闭包中生成可观察到的flatMap,而不是像上面那样传递它。

https://medium.com/@danielt1263/rxswifts-many-faces-of-flatmap-5764e6c2018c

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59661260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档