为什么Realm中的executeTransaction()没有OnSuccess参数?

时间:2016-09-21 11:01:14

标签: android realm

为什么在使用executeTransactionAsync而不是executeTransaction时才允许传递回调方法?

2 个答案:

答案 0 :(得分:0)

因为executeTransaction是同步的,所以一旦方法完成,就完成了。也就是说我们考虑过添加它,请参阅https://github.com/realm/realm-java/issues/3048

答案 1 :(得分:0)

本地提交更新looper线程上的Realm实例,但直到下一个looper事件才会刷新结果。 (您在>本地提交获得的任何结果都是最新的。)

因此,对于在本地提交中进行的更改,预期的用法是在事务之后立即重新查询RealmResults(不太喜欢),或者使用RealmChangeListener来知道结果'内部已经改变(更优先)。

那就是说,当我已经准备好结果时,Melchior对同步交易回调的答案的feature request由我做出:)