Улучшение синхронизации

This commit is contained in:
Book Pauk
2019-10-22 15:41:14 +07:00
parent b0e7431e72
commit 309a9ad4fb
2 changed files with 8 additions and 5 deletions

View File

@@ -540,13 +540,9 @@ class Reader extends Vue {
await this.$refs.recentBooksPage.updateTableData();
}
//сохранение в serverStorage
if (value) {
await utils.sleep(500);
while (!this.$refs.serverStorage.inited ||
!bookManager.loaded ||
this.$refs.serverStorage.savingRecent)
await utils.sleep(100);
await this.$refs.serverStorage.saveRecent(value);
}
}

View File

@@ -432,6 +432,9 @@ class ServerStorage extends Vue {
}
async saveRecent(itemKey, recurse) {
while (!this.inited || this.savingRecent)
await utils.sleep(100);
if (!this.keyInited || !this.serverSyncEnabled || this.savingRecent)
return;
@@ -474,6 +477,10 @@ class ServerStorage extends Vue {
//newRecent
let newRecent = {};
if (!itemKey || (needSaveRecentPatch && Object.keys(newRecentPatch.data).length > 10)) {
//ждем весь bm.recent
while (!bookManager.loaded)
await utils.sleep(100);
newRecent = {rev: this.cachedRecent.rev + 1, data: bm.recent};
newRecentPatch = {rev: this.cachedRecentPatch.rev + 1, data: {}};
newRecentMod = {rev: this.cachedRecentMod.rev + 1, data: {}};