使用RxJava和Scheduler来更新Realm
我试图“rxify”我的数据库层是基于Realm ..
我有这个方法:
public fun insertOrUpdate(user: user): User { return Observable.create { try { realm.beginTransaction() val result = realm.copyToRealmOrUpdate(user) realm.commitTransaction() it.onNext(result) it.onCompleted() } catch(e: Exception) { it.onError(IllegalDataAccess()) } } }
不过,由于我使用了不同的调度器,因此在不同的线程上使用领域对象的错误。 有什么要克服这个? (我能够做到这一点在对象检索,但不是在对象插入)
(我正在使用kotlin btw。)
使用示例:
userRepo.insertOrUpdateUser(user) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(...)