Имам IndexedDB, който локално кешира данни с три свойства a, b и c. a и b заедно образуват съставен ключ, а c е съдържанието, което преследвам.
Сега клиентът получава от сървъра списък с елементи, които искам да покажа. След това клиентът трябва да потърси (a,b) в IndexedDB и да извлече съвпадащото c, след това да хешира c, използвайки sha1 (използвайки Rusha, това вече работи добре).
За тези елементи, където sha1(c_client) не съответства на sha1(c_server), клиентът извлича всички (a,b) двойки от сървъра (използвайки една GET заявка с JSON-сериализиран масив от (a,b)). Сървърът връща актуализираното съдържание на c и след това клиентът съхранява новия c в IndexedDB и след това дава целия масив от обекти на функцията за показване.
Както можете да видите, по-голямата част от логиката абсолютно се нуждае от последователни операции - но IndexedDB е силно асинхронна.
Има ли начин да направя това, което искам по синхронен начин?