Ich bin mit dem ES2015 Klasse Schema Modell:Eine Schleife innerhalb von realm.write() oder umgekehrt?
class Person {
get fullName() {
return this.firstName + ' ' + this.lastName;
}
}
Person.schema = {
name: 'Person',
properties: {
firstName: 'string',
lastName: 'string'
}
};
nehme ich eine lange Liste von Menschen haben, und jeder Gegenstand wird in einer Schleife aktualisiert werden. Ich finde, dass im Debug-Modus der Schreibblock innerhalb der Schleife schneller ist als die Schleife innerhalb eines Schreibblocks.
Schneller:
componentDidMount(){
realmWorker.addListener(()=>{
console.log('from search screen');
})
}
onClick=()=>{
let persons = realm.objects('person');
persons.forEach(person=>{
realm.write(()=>{
person.age++;
// More complicated updates.
})
})
}
Langsamer:
realm.write(()=>{
let persons = realm.objects('person');
persons.forEach(person=>{
person.age++;
// More complicated updates.
})
})
Aber ich las, dass das Dokument so wenig Schreib transcations wie möglich vorzieht mit:
Note that write transactions have a non-negligible overhead; you should try to minimize the number of write blocks within your code.
Also sollte ich die gesamte Schleife innerhalb des Schreibblocks?