react-native – Realm React Native – 如何更新循环中的多个对
发布时间:2020-12-15 05:05:50 所属栏目:百科 来源:网络整理
导读:我试图更新realm中的多个对象使用for循环反应原生如下: let pendingReadings = database.objects('Readings').filtered('synced = false');database.write(() = { for (var k=0;kpendingReadings.length;k++) { pendingReadings[k].synced = true; }}); 结
我试图更新realm中的多个对象使用for循环反应原生如下:
let pendingReadings = database.objects('Readings').filtered('synced = false'); database.write(() => { for (var k=0;k<pendingReadings.length;k++) { pendingReadings[k].synced = true; } }); 结果应该标记所有读数同步为真.但是,它仅将备选对象标记为已同步(可能在下一个请求进入时,先前的写入未完成).一次更新所有条目的最佳方法是什么?
Realm的查询结果是实时更新.有多种方法可以调整循环来解决这个问题,但是通过在结果上使用
snapshot() 方法可以获得最佳性能……
let pendingReadings = database.objects('Readings') .filtered('synced = false') .snapshot(); database.write(() => { for (let i = 0,len = pendingReadings.length; i < len; i++) { pendingReadings[i].synced = true; } }); 另请注意,我将循环调整为仅检索一次长度,这也会略微提高性能.如果您愿意,可以使用带有Realm集合的循环…,尽管与上面的“原始”循环相比,这样做会有轻微的性能损失. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |