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)
)