我有这个数据库
interface UserDao {
@Insert(onConflict = REPLACE)
fun insert(user : User)
@Query("SELECT * FROM user")
fun get(): Flowable<List<User>>
@Query("DELETE FROM user")
fun deleteAll()
}
每次插入记录时,都会按预期自动触发get()
。
override fun getUsers() : Flowable<User> {
return db.userDao().get()
}
如何在调用deleteAll()
时阻止这种情况发生?
答案 0 :(得分:0)
您可以使用Single
代替Flowable
。其次,您可以在订阅者的onNext()
方法中使用标志。第一次运行后关闭标志。即使被触发,onNext()
中的核心代码也不会发生任何变化。