【发布时间】:2023-03-27 18:55:01
【问题描述】:
我有这些方法:
fun getMyObjectByCode(code: String): Flowable<Array<MyObject>> {
return interfaceRest.getObject(code)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
然后像这样调用:
fun getMyObjectByCode(Code: String): MyObject {
var resultMyObject = MyObject()
compositeDisposable.add(
viewmodel.getMyObjectByCode(code).subscribe { result ->
// just need the first element
Log.i(TAG, "result :${result[0].toString()}")
resultMyObject = result[0]
}
)
return resultMyObject
}
最后:
var myobject = getMyObjectByCode(code)
它工作正常,因为我可以在日志中看到正确的 MyObject,但返回对象从未设置过该值,我做错了什么?
【问题讨论】:
-
viewmodel.getMyObjectByCode(code)不会发出值,在此之前调用 return 语句,这就是为什么你会得到这样的结果。你不能从这个函数返回对象它总是会延迟
标签: android rx-java2 rx-android