Здравсвтуйте, товарищи! Помогите пожалуйста разобраться.
В
Vue.js (версия 2.5.17) приложении делаю
GET запрос к определенному URL адресу. Backend возвращает большой пул данных по частям с помощью пакета
JSONStream. Под большим пулом данных я имею введу ~ 200 000 записей. Данные записи предполагается наносить на Яндекс карту, поэтому
pagination или
lazy loading не мой вариант.
На данный момент использую пакет
axios для обработки GET запроса. Получается axios ждет весь пул данных и лишь потом начинает отрисовку гео-объектов на карте. К слову, каждую запись можно рассматривать как один гео-объект.
Я замерял скорость и пришел к выводу, что самым времязатратным процессом является отрисовка гео-объектов на карте. При этим данный процесс начинается лишь тогда, когда axios примет все данные. Учитывая, все это у меня возник вопрос. Как принять эти данные по частям на стороне клиента?
P.S. Количество записей не могу уменьшить. Axios весь пул данных получает за 5-7 секунд после моей оптимизации на стороне БД, еще 5-8 секунд уходит на отрисовку гео-объектов на карте. Как вы понимаете 10-15 секунд для веб приложение очень много. Поэтому возник вопрос, получать на стороне клиента данные кусками и сразу отрисовывать их на карте параллельно.