gpt4 book ai didi

java - 如何使用以 X 作为参数并返回 Observable 的函数从 Observable> 转换为 Observable>

转载 作者:行者123 更新时间:2023-12-02 02:18:09 26 4
gpt4 key购买 nike

我有一个方法可以无限期地(非有限)发出用户 ID 列表。

Observable<List<String>> getFriendUserIds()

另一个方法返回 Account特定用户 ID 的数据。

Observable<Account> getAccount(String userId)

我需要获取Account getFriendUserIds() 方法返回的所有用户 ID 的数据,分组在与用户 ID 列表相对应的列表中。

基本上,我需要以下内容,最好是非阻塞方式。

Observable<List<String>> // infinite stream
===> *** MAGIC + getAccount(String userId) ***
===> Observable<List<Account>> // infinite stream

示例:

["JohnId", "LisaId"]---["PaulId", "KimId", "JohnId"]------["KimId"]

===>

[<JohnAccount>, <LisaAccount>]---[<PaulAccount>, <KimAccount>, <JohnAccount>]------[<KimAccount>]

顺序并不重要,重要的是 List<Account>必须包含Account s 对应于 List<String> 中存在的每个用户 ID 。

**注意,这个问题类似于 this question ,但还有将结果项分组回列表的附加要求。

最佳答案

试试这个:

Observable<List<Account>> accountsList = getFriendUserIds()
.take(1)
.flatMapIterable(list -> list)
.flatMap(id -> getAccount(id))
.toList()
.toObservable();

或者这个:

Observable<List<Account>> accountsList = getFriendUserIds()
.flatMapSingle(list ->
Observable.fromIterable(list)
.flatMap(id -> getAccount(id))
.toList()
);

关于java - 如何使用以 X 作为参数并返回 Observable<Y> 的函数从 Observable<List<X>> 转换为 Observable<List<Y>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48959354/

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