Angular 5: как скачать pdf с помощью Service worker
Я использую JsPdf
сгенерировать и скачать PDF на стороне клиента. К сожалению, этот процесс на некоторое время повесил браузер.
Поэтому мой вопрос заключается в том, как я могу сгенерировать и загрузить PDF в фоновом режиме, используя service worker
?
1 ответ
Сервисный работник - не то место, где сервисные работники подобны прокси-серверу. Все ваши запросы в области проходят, хотя это и может быть кешировано. С другой стороны, JSPDF - это библиотека на стороне клиента, которую наш браузер должен был выполнить и сгенерировать файл PDF, и в зависимости от различных факторов, таких как размер данных, клиентское оборудование, эффективность самой библиотеки, это может повлиять на производительность браузера.
Веб-работники - веб-работники также запускают задачи в отдельном потоке (например, работнике службы), что снизит влияние нагрузки браузера на взаимодействие пользователя с веб-страницей, не загружая основной поток, обрабатывающий взаимодействие с пользователем.
В случае, если вы рассматриваете генерацию PDF на стороне сервера. Когда вы работаете с сервисным работником, вы кэшируете эти данные ответов, что в конечном итоге заполняет ограниченную квоту, которую имеет каждое приложение. А поскольку такие сценарии загрузки не являются распространенным вариантом использования для кэширования, можно рассмотреть возможность выполнения обычного вызова AJAX для генерации PDF на стороне сервера и загрузки на стороне клиента.