私は大きなスイッチケースを持っています。それぞれのケースでは、特定のデータベースオブジェクトを作成するために必要なものを集め、realm.createオブジェクトを作成します。永続性を保証する最も簡単な方法は、realm.write内のスイッチ/ケース全体をチャックすることです。これにより、それぞれのケース内で実行されるコードが遅くなりますか?レルムネイティブのレルム内でコードを書くと、パフォーマンスが低下しますか?
realm.write(() => {
let x, y;
switch (condition) {
case 'x':
x = //some work to generate the x object
realm.create('X', x);
break;
case 'y':
y = // some work to generate the y object
realm.create('Y', y);
break;
}
});
代替が使用されますどのようなケースの作成と矢印の機能を保持する変数を使用し、そして最後にその矢印の機能をrealm.write呼び出すことだけです。これを行うのが楽しいですが、何か有益かどうか不思議です。
let x, y, writeFunc;
switch (condition) {
case 'x':
x = //some work to generate the x object
writeFunc =() => realm.create('X', x);
break;
case 'y':
y = // some work to generate the y object
writeFunc =() => realm.create('Y', y);
break;
}
realm.write(writeFunc);