RxJava combine/merge 对象与列表
RxJava combine/merge object with list
我有 2 个可观察对象,一个 returns 1 个元素,另一个 returns 多个元素。
我的目标是将它们合并在一起,不阻塞,构建一个像这样的对象:
class Combined {
Server server;
List<Client> client;
}
Observable<Server> server = getServerById("1"); //returns an observable of 1 server
Observable<Client> clients = getClientsByServerId("1"); //returns an observable of 0 to n clients
Observable<Combined> combined = //...
我尝试了 zip、merge 和 combine,其中 none 似乎是解决方案。
zip
应该有效,前提是 getClientsByServerId
是有限的:
Single<Combined> = Single.zip(
server.singleOrError(),
clients.toList(),
(svr, list) -> new Combined(svr, list)
)
我有 2 个可观察对象,一个 returns 1 个元素,另一个 returns 多个元素。 我的目标是将它们合并在一起,不阻塞,构建一个像这样的对象:
class Combined {
Server server;
List<Client> client;
}
Observable<Server> server = getServerById("1"); //returns an observable of 1 server
Observable<Client> clients = getClientsByServerId("1"); //returns an observable of 0 to n clients
Observable<Combined> combined = //...
我尝试了 zip、merge 和 combine,其中 none 似乎是解决方案。
zip
应该有效,前提是 getClientsByServerId
是有限的:
Single<Combined> = Single.zip(
server.singleOrError(),
clients.toList(),
(svr, list) -> new Combined(svr, list)
)