Метод Noty.clearQueue() используется
для удаления всех уведомлений, находящихся в очереди на отображение, но
ещё не показанных пользователю. В контексте работы с библиотекой
Noty это критически важно для контроля
последовательности уведомлений и предотвращения перегрузки
интерфейса.
Noty, без создания экземпляра уведомления.new Noty(...).show() или через методы с отложенным показом,
но ещё не отображены.Noty.clearQueue();
Библиотека Noty поддерживает очередь уведомлений,
что позволяет показывать их по одному с заданной задержкой. Если создать
несколько уведомлений одновременно, они будут помещены в очередь. Метод
clearQueue() обнуляет эту очередь, не затрагивая
уведомления, которые уже отображаются на экране.
Пример очереди:
new Noty({text: 'Уведомление 1', timeout: 3000}).show();
new Noty({text: 'Уведомление 2', timeout: 3000}).show();
new Noty({text: 'Уведомление 3', timeout: 3000}).show();
В этом случае уведомления будут показаны одно за другим. Если выполнить:
Noty.clearQueue();
то все уведомления, ожидающие своей очереди (например,
Уведомление 2 и Уведомление 3), будут удалены,
и не появятся на экране.
Метод Noty.closeAll() закрывает все
активные уведомления, которые уже отображаются, тогда как
Noty.clearQueue() работает исключительно с
ожидающими в очереди уведомлениями. Часто их используют
совместно для полного контроля уведомлений:
Noty.closeAll(); // закрывает все видимые уведомления
Noty.clearQueue(); // очищает очередь ожидающих уведомлений
Noty.clearQueue();
new Noty({text: 'Данные обновлены', type: 'success', timeout: 3000}).show();
Предотвращение перегрузки интерфейса Если приложение генерирует много уведомлений за короткий промежуток времени, можно очищать очередь, чтобы пользователь видел только актуальные сообщения.
Сценарии с модальными окнами Перед открытием важного модального окна можно очистить очередь, чтобы предыдущие уведомления не отвлекали пользователя:
Noty.clearQueue();
openModal();
new Noty({text: 'Окно открыто', type: 'info', timeout: 2000}).show();
Noty.setMaxVisible(): Ограничивает
количество одновременно видимых уведомлений. Очистка очереди позволяет
контролировать появление новых уведомлений в рамках этого
ограничения.Noty.overrideDefaults(): Можно задать
глобальные настройки, после чего clearQueue() будет очищать
очередь с учётом этих настроек.clearQueue() полностью очищает массив
очереди, но не влияет на DOM-элементы уже отображённых
уведомлений.// Уведомления генерируются при событиях пользователя
document.getElementById('btn').addEventListener('click', () => {
Noty.clearQueue();
new Noty({
text: 'Кнопка нажата',
type: 'success',
timeout: 2500
}).show();
});
В этом примере каждое новое нажатие кнопки очищает все ожидающие уведомления, обеспечивая показ только актуального сообщения.
Noty.closeAll(), если требуется полностью
очистить интерфейс от всех уведомлений.Метод Noty.clearQueue() обеспечивает строгий контроль
над порядком и количеством уведомлений, позволяя поддерживать чистоту
интерфейса и улучшать восприятие пользователем информации.