wait对于 初始 远程 数据

乐趣 waitForInitialRemoteData(timeout : Duration = Duration.INFINITE)SyncConfiguration.Builder

设置此项将导致 Realm 在首次打开 Realm 时从服务器下载所有已知更改。 在下载所有数据之前,Realm 不会打开。 这意味着如果设备离线,Realm 将无法打开。

由于下载所有更改可能是一项冗长的操作,可能会阻塞用户界面线程,因此启用此设置的 Realm 只能在后台线程上打开。

该检查仅在首次创建 Realm 时执行,除非已配置initialSubscriptions rerunOnOpen = true 。 在这种情况下,每次打开 Realm 时都会下载服务器数据。

如果有条件限制何时应下载服务器数据,则可以通过SyncSession.downloadAllServerChanges进行控制, 例如:

val user = loginUser()
val config = SyncConfiguration.Builder(user, schema)
.initialSubscriptions { realm ->
add(realm.query<City>())
}
.build()
val realm = Realm.open(config)
if (downloadData) {
realm.syncSession.downloadAllServerChanges(timeout = 30.seconds)
}

参数

超时

打开 Realm 时,等待下载完成多长时间才会引发io.realm.kotlin.mongodb.Exceptions.DownloadingRealmTimeOutException