代码之家  ›  专栏  ›  技术社区  ›  rayman

对观测值使用concat后获得部分结果

  •  0
  • rayman  · 技术社区  · 9 年前

    Observable<SomeResponseObject> method(){
        List<MyPojo> stream1...
        Observable<List<MyPojo>> stream2...
    
        return Observable.concat(Observable.from(stream1).toList(),stream2).map(users->
            createSomeResponseObject(users);
    }
    

    然而,当我调试SomeResponseObject时,我只看到 流1 (流2的缺失结果)

    通过单元测试执行:

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

    stream2是这样创建的:

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

    这两个列表的串联缺少了什么?

    1 回复  |  直到 9 年前
        1
  •  0
  •   akarnokd    9 年前

    串联后有两个元素,但只等待第一个:

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

    我猜你想等两个:

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

    或者将两者同时打包:

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