当前位置: 首页>>代码示例>>Java>>正文


Java Flowable.onErrorResumeNext方法代码示例

本文整理汇总了Java中io.reactivex.Flowable.onErrorResumeNext方法的典型用法代码示例。如果您正苦于以下问题:Java Flowable.onErrorResumeNext方法的具体用法?Java Flowable.onErrorResumeNext怎么用?Java Flowable.onErrorResumeNext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在io.reactivex.Flowable的用法示例。


在下文中一共展示了Flowable.onErrorResumeNext方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: delete

import io.reactivex.Flowable; //导入方法依赖的package包/类
@Override
public Flowable<Integer> delete(final List<T> items) {
    List<Flowable<Integer>> flowables = new ArrayList<>();
    Flowable<Integer> flowStorage = dao.delete(items);

    if(hasSyncedStore()) {
        flowStorage = flowStorage
                .onErrorResumeNext(new Function<Throwable, Flowable<Integer>>() {
                    @Override
                    public Flowable<Integer> apply(final Throwable throwable) throws Exception {
                        return syncedStore.insertOrUpdate(items)
                                .flatMap(new Function<Optional<List<T>>, Flowable<Integer>>() {
                                    @Override
                                    public Flowable<Integer> apply(Optional<List<T>> reinsertedItem) throws Exception {
                                        return Flowable.error(throwable);
                                    }
                                });
                    }
                });

        flowables.add(syncedStore.delete(items));
    }

    flowables.add(flowStorage);
    return Flowable.concat(flowables);
}
 
开发者ID:playmoweb,项目名称:store2store,代码行数:27,代码来源:StoreService.java

示例2: deleteAll

import io.reactivex.Flowable; //导入方法依赖的package包/类
@Override
public Flowable<Integer> deleteAll() {
    List<Flowable<Integer>> flowables = new ArrayList<>();
    Flowable<Integer> flowStorage = dao.deleteAll();

    // TODO improve the deleteAll method in case of double fail
    // copy the syncedStore for insert if double fail
    // execute the deleteAll (this)
    // if error, try getAll()
    // if error again => re-insert syncedStore datas (better than nothing)
    // if not error, insert fresh datas

    if(hasSyncedStore()) {
        flowStorage = flowStorage
                .onErrorResumeNext(new Function<Throwable, Flowable<Integer>>() {
                    @Override
                    public Flowable<Integer> apply(final Throwable throwable) throws Exception {
                        return dao.getAll(null, null)
                                .flatMap(new Function<Optional<List<T>>, Flowable<Optional<List<T>>>>() {
                                    @Override
                                    public Flowable<Optional<List<T>>> apply(final Optional<List<T>> items) throws Exception {
                                        return syncedStore.insertOrUpdate(items.get());
                                    }
                                })
                                .flatMap(new Function<Optional<List<T>>, Flowable<Integer>>() {
                                    @Override
                                    public Flowable<Integer> apply(Optional<List<T>> reinsertedItems) throws Exception {
                                        return Flowable.error(throwable);
                                    }
                                });
                    }
                });

        flowables.add(syncedStore.deleteAll());
    }

    flowables.add(flowStorage);
    return Flowable.concat(flowables);
}
 
开发者ID:playmoweb,项目名称:store2store,代码行数:40,代码来源:StoreService.java

示例3: apply

import io.reactivex.Flowable; //导入方法依赖的package包/类
@Override public Publisher<T> apply(Flowable<T> upstream) {
    return upstream.onErrorResumeNext(this::handleErrorFromDeserializer);
}
 
开发者ID:ubiratansoares,项目名称:reactive-architectures-playground,代码行数:4,代码来源:DeserializationIssuesHandler.java

示例4: apply

import io.reactivex.Flowable; //导入方法依赖的package包/类
@Override public Publisher<T> apply(Flowable<T> upstream) {
    return upstream.onErrorResumeNext(this::handleIfRestError);
}
 
开发者ID:ubiratansoares,项目名称:reactive-architectures-playground,代码行数:4,代码来源:RestErrorsHandler.java

示例5: apply

import io.reactivex.Flowable; //导入方法依赖的package包/类
@Override public Publisher<T> apply(Flowable<T> upstream) {
    return upstream.onErrorResumeNext(this::handleIfNetworkingError);
}
 
开发者ID:ubiratansoares,项目名称:reactive-architectures-playground,代码行数:4,代码来源:NetworkingErrorHandler.java


注:本文中的io.reactivex.Flowable.onErrorResumeNext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。