From 1c87dfc4d78c7d22cd7b710254952ea2be20bfff Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Tue, 22 Jan 2019 05:50:34 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=BB=D1=83=D1=87=D1=88=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=83=20=D1=81=20localForage,=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=B2=D1=80=D0=BE=D0=B4?= =?UTF-8?q?=D0=B5=20=D0=BD=D0=B5=20=D1=82=D0=BE=D1=80=D0=BC=D0=BE=D0=B7?= =?UTF-8?q?=D0=B8=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Reader/share/bookManager.js | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/client/components/Reader/share/bookManager.js b/client/components/Reader/share/bookManager.js index 0aeffd5c..33bff3e0 100644 --- a/client/components/Reader/share/bookManager.js +++ b/client/components/Reader/share/bookManager.js @@ -5,17 +5,26 @@ import BookParser from './BookParser'; const maxDataSize = 100*1024*1024;//chars, not bytes +const bmMetaStore = localForage.createInstance({ + name: 'bmMetaStore' +}); + +const bmDataStore = localForage.createInstance({ + name: 'bmDataStore' +}); + class BookManager { async init() { this.books = {}; - const len = await localForage.length(); + const len = await bmMetaStore.length(); + for (let i = 0; i < len; i++) { - const key = await localForage.key(i); + const key = await bmMetaStore.key(i); const keySplit = key.split('-'); if (keySplit.length == 2 && keySplit[0] == 'bmMeta') { - let meta = await localForage.getItem(key); + let meta = await bmMetaStore.getItem(key); this.books[meta.key] = meta; } @@ -58,8 +67,8 @@ class BookManager { this.books[meta.key] = result; - await localForage.setItem(`bmMeta-${meta.key}`, this.metaOnly(result)); - await localForage.setItem(`bmData-${meta.key}`, result.data); + await bmMetaStore.setItem(`bmMeta-${meta.key}`, this.metaOnly(result)); + await bmDataStore.setItem(`bmData-${meta.key}`, result.data); return result; } @@ -84,7 +93,7 @@ class BookManager { result = this.books[meta.key]; if (result && !result.data) { - result.data = await localForage.getItem(`bmData-${meta.key}`); + result.data = await bmDataStore.getItem(`bmData-${meta.key}`); this.books[meta.key] = result; } @@ -100,8 +109,8 @@ class BookManager { if (!this.books) await this.init(); - await localForage.removeItem(`bmMeta-${meta.key}`); - await localForage.removeItem(`bmData-${meta.key}`); + await bmMetaStore.removeItem(`bmMeta-${meta.key}`); + await bmDataStore.removeItem(`bmData-${meta.key}`); delete this.books[meta.key]; }