Я разрабатываю пользовательскую страницу html с информацией об установленных сертификатах на локальном компьютере. Информация о сертификате, которую я получаю через криптографический провайдер api, затем фильтрую возвращенные сертификаты с некоторыми ограничениями (Issuer, CommonName, et c). Это работа моей функции loadCertificates
. Я показываю результаты по нажатию кнопки. Но loadCertificates
занимает несколько секунд, и я хочу показать preloader перед loadCertificates
и скрыть после:
$("#select__cert-btn").click(function () {
showPreloader();
var certificates = loadCertificates(restrictions);
hidePreloader();
showCerificates(certificates);
});
Функции showPreloader
и hidePreloader
только добавляют / удаляют div с gif-фоном для контейнера с информация о сертификатах. Но когда я нажимаю на кнопку, моя страница кажется замороженной и только через несколько секунд показывает результаты (без появления моего предварительного загрузчика). Но в режиме отладки перед запуском loadCertificates
предзагрузчик добавляется в html, но он не виден.
Раньше у меня никогда не возникало таких же проблем, но кажется, что loadCertificates
блокирует основной поток, но если я прав, почему showPreloader
не работает корректность?
Как решить мою проблему?