[英]How to manage error for each item when insert list of data to room with rxjava
@Dao
interface NoteDao {
@Insert(onConflict = OnConflictStrategy.ABORT)
fun insert(note: Note):Completable
@Insert(onConflict = OnConflictStrategy.ABORT)
fun insert(notes: List<Note>):Completable
}
當我向數據庫中添加單個注釋時,我可以查看它是否正確添加
val note = create single note ...
noteDao.insert(note) .subscribeOn(Schedulers.io()).subscribe(object :CompletableObserver{
override fun onSubscribe(d: Disposable) {
Log.d(TAG, "onComplete: ")
}
override fun onComplete() {
Log.d(TAG, "onComplete: ")
}
override fun onError(e: Throwable) {
// do stuff ********
}
})
但是當我將筆記列表插入數據庫時,我無法理解其中一個已插入而其中一個未插入,onError 只是說整個操作是否完成。
val notes = create list of notes ...
noteDao.insert(notes).subscribeOn(Schedulers.io()).subscribe(object : CompletableObserver{
override fun onSubscribe(d: Disposable) {
Log.d(TAG, "onSubscribe: ")
}
override fun onComplete() {
Log.d(TAG, "onComplete: ")
}
override fun onError(e: Throwable) {
// it just say whole operation has error can not see witch one ********
Log.d(TAG, "onError: ")
}
})
我怎么能理解女巫一個筆記插入完全和女巫一個插入有onError?
您當前的實現實際上無法理解它。 如果插入過程出現錯誤,您將收到onError
調用,您可以在此處查詢表並將行與列表進行比較,以了解插入了列表中的哪些項目。 長話短說,您必須在onError
調用中實現一個方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.