相关疑难解决方法(0)

压缩可观察量的错误处理

我的用例是:我得到一个永久链接列表,并且需要每个永久链接发出两个REST请求以获取部分数据.当两个请求都回来时,我想将它们的信息合并在一起并对它做一些事情(这里 - 打印出来).我想用代码使用zip运算符来完成它.这是我当前的代码(以及我正在使用的库的模拟):

public class Main {

    public static void main(String[] args) {
        ContentManager cm = new ContentManager();

        Observable
                .from(cm.getPermalinks(10))
                .flatMap(permalink -> Observable.zip(
                        Observable.<Content>create(subscriber -> cm.getDataByPermalink(permalink, new SubscribingRestCallback(subscriber))),
                        Observable.<Content>create(subscriber -> cm.getStreamByPermalink(permalink, new SubscribingRestCallback(subscriber))),
                        (dataContent, streamUrlContent) -> {
                            if (dataContent == null || streamUrlContent == null) {
                                System.err.println("not zipping " + dataContent + " and " + streamUrlContent);
                                return Observable.empty();
                            }

                            return new Content(dataContent.permalink, dataContent.logoUrl, streamUrlContent.streamUrl);
                        }))
                .subscribe(System.out::println);
    }
}

class SubscribingRestCallback implements RestCallback {

    private final Subscriber<? super …
Run Code Online (Sandbox Code Playgroud)

rx-java

9
推荐指数
1
解决办法
5716
查看次数

标签 统计

rx-java ×1