我如何处理Retrofit + RxJava请求中的错误

问题描述 投票:0回答:1

我使用MVVM。我有一个从服务器以JSON格式获取数据的功能。 Repository中有此功能,如果设备上没有Internet,如何向用户显示错误并要求用户打开Internet?

val disposable = CompositeDisposable()
     disposable.add(apiRepository.getAllContacts()
        .subscribeOn(Schedulers.io())
        .subscribe(
        {response -> contactDao.insertAll(response)},
        { error -> error.printStackTrace() }))
android exception kotlin retrofit2 rx-java2
1个回答
0
投票

要向用户显示错误,您可以使用onErrorReturn,然后显示Snackbar通知用户。不能由RXJava处理没有Internet连接的情况,您可以根据所支持的设备和特定的用例来决定策略。根据我的建议达成目标的最佳方法是使用工作管理器,如本post

© www.soinside.com 2019 - 2024. All rights reserved.