簡體   English   中英

使用rxjava將數據列表插入房間時如何管理每個項目的錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM