2016-05-25 9 views
0

Ich habe eine Webanwendung (reine clientseitige Implementierung mit Javascript), die Daten aus einem CRM abruft und speichert es in lokalen HTML-Speicher für die Offline-Verwendung. Die Speicherkapazität des lokalen Speichers ist jedoch sehr niedrig. Daher dachten wir, indexedDB zu verwenden. Aber die Anwendung wird in einer synchronen Art und Weise implementiert, in der wir Daten synchron speichern und abrufen, und dies ist ein Muss. Die Anwendung ist sehr komplex und es gibt so viele Serviceklassen, die auf Daten zugreifen. Es wird also eine langwierige Aufgabe, wenn wir versuchen, die gesamte Anwendung asynchron zu schreiben. Gibt es eine Möglichkeit synchron zu indexedDB zuzugreifen?IndexDB synchrone und asynchrone Ausgabe

Ich habe die genannten Lösungen here und here versucht. Ich habe versucht, die While-Loop-Methode im 2. Link erwähnt. Aber es funktioniert nicht in der Single-Thread-Umgebung. Deshalb habe ich versucht, es mit einem Web-Arbeiter zu tun und es hat nicht funktioniert. Ich habe versucht, ES6-Generatoren zu verwenden, um synchron auf Daten zuzugreifen, und selbst damit kein Glück. Ich kenne synchronizejs. Leider kann ich keine Knotenmodule verwenden, da diese Anwendung eine reine clientseitige Anwendung ist. Ich kann stratifiedjs nicht sogar verwenden, weil ich stratiledjs Funktionen von externem Javascript nicht nennen kann.

Gibt es eine Möglichkeit, dieses Problem zu lösen, ohne die Anwendung asynchron neu schreiben zu müssen?

Antwort

0

Wenn Sie indexedDB verwenden möchten, müssen Sie Async-Aufrufe verwenden.

+0

Gibt es eine synchrone clientseitige Datenbank mit einer angemessenen Kapazität (fast 250 MB)? – JohnDuo

+0

Hmm. Vielleicht könntest du das Dateisystem api ausprobieren und selbst rollen – Josh