嗨,我是RxJava和Kotlin的新手,我对它有一些概念。
interface VehiclesService {
@GET("/vehicles/")
fun getVehicles(): Single<List<Vehicle>>
}
var retrofit = RetrofitClient().getInstance()
vehiclesAPI = retrofit!!.create(VehiclesService ::class.java)
private fun fetchData() {
compositeDisposable.add(vehiclesAPI .getVehicles()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { vehicles -> displayData(vehicles) }
)
}
The exception was not handled due to missing onError handler in the subscribe() method call
我知道错误是很明显的。所以我知道缺少了什么,但我不知道的是如何处理这个错误。
我尝试添加:.doonerror{error->log.d(“mainclass”,error.message)}
,但仍显示相同的错误消息。
您可以将另一个lambda传递给subscribe
以处理特定流的错误,如下所示:
private fun fetchData() {
compositeDisposable.add(vehiclesAPI .getVehicles()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe( { vehicles -> displayData(vehicles) }, { throwable -> //handle error } )
)
}
p.s:doonerror
和其他副作用运算符不会影响流,它们只是预期为副作用操作(例如日志记录)发出的值。
通过对错误类型实现 Display 和 From,我们能够利用上绝大部分标准库错误处理工具。然而,我们遗漏了一个功能:轻松 Box 我们错误类型的能力。 标准库会自动通过 Form 将任意实现了 Error trait 的类型转换成 trait 对象 Box<Error> 的类型(原文:The std library automatically converts any type that imp
在添加com.google.dagger:dagger-android-support依赖项后,我得到了这个gradle错误。 这是我的构建的一部分
我在尝试处理调用Spring WebFlux的web客户机的不同错误时遇到了麻烦。 我如何修改我的代码,使它返回我生成的自定义消息?
我可以看到promise没有实现,因为返回的数组包含适当的拒绝promise。 有人能告诉我为什么不调用吗?(如果我在中有一个promise数组,其中一个被拒绝,我就知道是这样)
问题内容: 我一直在努力解决这个问题,但没有找到一个强有力的答案。我正在尝试使用useMutation挂钩执行登录突变。 TLDR; 我想知道在onError中传递的选项和useMutation给我的错误之间到底有什么区别 这是我的代码段 在服务器端,我有一个用于登录的预设/硬编码电子邮件,并且我没有使用Apollo或任何其他客户端。在此登录突变的解析器中,如果使用的电子邮件不相同,我只会抛出一个