我有2个可观察值,一个返回1个元素,另一个返回多个元素。我的目标是将它们合并在一起,无阻塞,以建立这样的对象:
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,合并和合并,似乎都不是解决方案。
[zip
应该可以,只要getClientsByServerId
是有限的:
Single<Combined> = Single.zip(
server.singleOrError(),
clients.toList(),
(svr, list) -> new Combined(svr, list)
)