Skip to content

Commit acade00

Browse files
committed
[persisters] Get event data before scheduling
1 parent ba39a45 commit acade00

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

src/persisters.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,10 @@ export const createCustomPersister = <ListeningHandle>(
2626
let loadSave = 0;
2727
let loads = 0;
2828
let saves = 0;
29-
let running = 0;
3029
let listening = 0;
3130
let action;
3231
let listeningHandle: ListeningHandle | undefined;
33-
32+
let running = 0;
3433
const scheduledActions: Action[] = [];
3534

3635
const run = async (): Promise<void> => {
@@ -84,11 +83,14 @@ export const createCustomPersister = <ListeningHandle>(
8483
await persister.load(initialTables, initialValues);
8584
listening = 1;
8685
listeningHandle = addPersisterListener(
87-
async (getContent, getTransactionChanges) =>
88-
await loadLock(async () => {
89-
if (getTransactionChanges) {
90-
store.setTransactionChanges(getTransactionChanges());
91-
} else {
86+
async (getContent, getTransactionChanges) => {
87+
if (getTransactionChanges) {
88+
const transactionChanges = getTransactionChanges();
89+
await loadLock(async () =>
90+
store.setTransactionChanges(transactionChanges),
91+
);
92+
} else {
93+
await loadLock(async () => {
9294
try {
9395
store.setContent(
9496
getContent?.() ??
@@ -97,8 +99,9 @@ export const createCustomPersister = <ListeningHandle>(
9799
} catch (error) {
98100
onIgnoredError?.(error);
99101
}
100-
}
101-
}),
102+
});
103+
}
104+
},
102105
);
103106
return persister;
104107
},

0 commit comments

Comments
 (0)