作为 Flow
观察 Realm 对象的更改。 订阅后,该流程将发出一个InitialObject ,然后在对象每次发生更改时发出UpdatedObject 。 如果观察到的对象已从 Realm 中删除,则流程将发出DeletedObject ,然后完成,否则将继续运行直到取消。
变更计算将在Configuration.notificationDispatcher
表示的线程上执行。
该流具有Channel.BUFFERED的内部缓冲区,但如果使用者未能及时使用元素,则协程作用域将被取消,并引发CancellationException 。
返回
表示对象更改的流。
参数
键 路径
可选属性列表,用于定义何时对对象进行更改将导致发出更改。 可以使用点语法定义嵌套属性,例如 parent.child.name
。 通配符*
可用于捕获给定级别的所有属性,例如 child.*
或*.*
。 如果未提供键路径,则对所有顶级属性和 4 以下嵌套属性的更改都将trigger更改。
抛出异常
如果通过写事务(write transaction)( 写入 ) 在活动 RealmObject 或 EmbeddedRealmObject 上调用或迁移中的DynamicRealmObject ( 迁移 )。
如果提供的键路径无效。