此代码不抛出:
override fun fromJson(reader: JsonReader): List<MyObj> {
val result = ArrayList<MyObj>()
reader.beginObject()
while (reader.hasNext()) {
result.add(MyObj(reader.nextName(), reader.nextString()))
}
reader.endObject()
return result
}但是,如果我在返回之前添加了reader.close,或者使用reader.use { },它就会在这里被捕获:
private fun <T> networkTransform(): SingleTransformer<Response<T>, Response<T>> {
return SingleTransformer {
it.onErrorResumeNext { throwable -> ...}
...所以我的问题是,我们需要处理close()吗?
发布于 2019-09-13 10:07:58
您不应该在JsonAdapter本身中关闭读取器,只有调用代码(即创建读取器并调用fromJson()的人)需要处理它。
https://stackoverflow.com/questions/57920580
复制相似问题