Привет всем.
В приложении получаю довольно большие массивы данных.
Перед тем, как записать их в стейт, мне нужно распарсить их и сформировать из них объекты классов.
Сейчас данных примерно втрое меньше, чем предполагается на бою, но уже наблюдаются рывки при скроле и зависания анимаций на странице.
Как я понимаю, можно решить эту проблему поместив самые ресурсозатратные операции в promise? В целом, вся работа у меня идёт во VueX action. Всё остальное, по сути - контроллеры и шаблоны.
Сейчас схема работы такая:
- Получено сообщение по websocket
- Определяю какая команда пришла
- Запускаю vuex action для данной команды
- В экшене строка, полученная по websocket парсится, из каждого полученного элемента создаётся объект класса, объекты объединяются в массив и передаются в мутацию
- VueX mutation: массив полученный в п.4 помещается в state
- Получаю стейт через mapgetter и вывожу элементы массива в шаблон компонента через v-for
То есть, мне нужно обернуть всё, что делается в action в промис и запускать мутацию только после получения resolve? Правильно ли так делать или ошибка уже на стадии проектирования? Хз, может я не до конца понимаю реактивность и, возможно, можно завязываться на свойство/стейт с помощью watch, но пока не очень представляю дорожную карту всего этого =/
Раньше промисами не пользовался, так что прошу извинить мои, возможно, извращенские взгляды