我正在尝试为我的应用程序定义数据流。
当我调用数据层时,可能会发生两件事:
1-呼叫数据库->有数据->返回Observable<Data>
2-调用数据库->没有数据->调用API->填充数据库->返回Observable<Data>
这是我的代码:
override fun getContact(): Observable<Contact> {
return dbService.getContactDb()
.onErrorResumeNext( populateContact() )
}
private fun populateContact(): Observable<Contact> {
return apiService.getContact()
.flatMap {
dbService.insertContactDb(it)
.toSingle { it }
.toObservable()
}
}
在第二种情况下,当调用populateContact()
时,服务甚至没有调用API。
这里有什么问题的想法吗?