Я использую vuex-persist и localforage в качестве плагина для хранения. Я написал функцию, которая вычисляет емкость хранилища (в основном я обращаюсь к indexDB, перебираю ключи и возвращаю размер в байтах).

Я хочу очистить свой магазин после достижения определенной емкости, но не могу понять, ГДЕ находится лучшее место для вызова функции калькулятора хранилища.

Я пытался:

  1. расчет внутри маршрутизатора при каждой загрузке страницы. Это становится очень медленным в какой-то момент, когда в хранилище несколько сотен мегабайт данных.

  2. расчет внутри функции обратного вызова в RESTORE_MUTATION. Это неправильно, потому что для доступа к indexDB операция должна быть async, но мутации не могут быть async

Любые идеи поощряются!

0
asus 5 Ноя 2019 в 02:09

1 ответ

Что касается пункта 2, мутации должны быть синхронными, но действия могут решить эту проблему за вас. Действия могут быть асинхронными, а затем совершать мутации.

0
Arc 7 Ноя 2019 в 09:15