首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确处理subcribe()方法?

如何正确处理subcribe()方法?
EN

Stack Overflow用户
提问于 2020-04-27 15:05:16
回答 1查看 40关注 0票数 0

我在代码中遇到了subscribe()方法的问题(调试控制台下面的消息)

代码语言:javascript
复制
io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | Expected a string but was BEGIN_OBJECT at line 1 column 2 path $

我不知道如何使它正确,这是我的部分代码开始的地方

代码语言:javascript
复制
private fun startSearch(query: String) {
        disposables.addAll(IMyService.searchCourse(query)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe ({ courses ->
                adapter = CourseAdapter(baseContext, courses)
                recycler_search.adapter = adapter
            }, {
                Toast.makeText(this, "Not found", Toast.LENGTH_LONG).show()
            }))
    }

    private fun getAllCourses() {
        disposables.addAll(IMyService.coursesList
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe ({ courses ->
                adapter = CourseAdapter(baseContext, courses)
                recycler_search.adapter = adapter
            }, {
                Toast.makeText(this, "Not found", Toast.LENGTH_LONG).show()
            }))
    }

还有完整的代码

参数

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-27 16:50:35

在反应性编程中,将订阅者传递给可观察的用户应包括如何处理以下三种情况:

  1. onSuccess
  2. onError
  3. onFailure

但是,如果您只想传递一个订阅服务器,您知道它肯定不会有任何错误或任何故障,并且确定它总是成功的话,那么就试试@EpicPandaForce中提到的onSuccess或onFailure吧。然而,一个好的做法是始终实现这三种情况,因为你永远不知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61461929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档