在observables上使用concat后得到部分结果

时间:2016-06-27 18:33:29

标签: java rx-java reactive-programming

我有以下流程:

Observable<SomeResponseObject> method(){
    List<MyPojo> stream1...
    Observable<List<MyPojo>> stream2...

    return Observable.concat(Observable.from(stream1).toList(),stream2).map(users->
        createSomeResponseObject(users);
}

然而,当我调试SomeResponseObject时,我只看到 stream1 的结果(缺少stream2的结果)

通过单元测试执行:

        myClass.method().toBlocking().first();

stream2以这种方式创建:

 return Observable.from(Arrays.asList(new MyPojo("user7"))).toList();

连接这两个列表我错过了什么?

1 个答案:

答案 0 :(得分:0)

连接后有两个元素,但只等待第一个元素:

myClass.method().toBlocking().first();

我猜你想等待两者:

myClass.method().toBlocking().last();

或立即将两者打包在一起:

myClass.method().toList().toBlocking().first(); // returns List<List<MyPojo>>