Возвращаемые значения

Библиотека iziToast в JavaScript предоставляет гибкий и настраиваемый способ отображения уведомлений в веб-приложениях. Понимание того, что возвращается при вызове методов iziToast, критически важно для контроля жизненного цикла уведомлений, их динамического обновления и управления взаимодействием пользователя с интерфейсом.


Основной принцип возврата значений

Каждый вызов метода iziToast.show(), а также специализированных методов (success, error, info, warning) возвращает объект с информацией о созданном уведомлении. Этот объект позволяет:

  • контролировать закрытие уведомления программно;
  • добавлять кастомные обработчики событий;
  • сохранять ссылку на уведомление для последующего обновления или удаления.

Пример использования:

let toast = iziToast.show({
    title: 'Успех',
    message: 'Операция завершена',
    timeout: 5000
});

В переменной toast хранится объект, содержащий следующие ключевые свойства и методы:

  • id — уникальный идентификатор уведомления;
  • settings — полный набор параметров, переданных в конфигурацию уведомления;
  • destroy() — метод для принудительного закрытия уведомления;
  • reset() — метод для сброса таймера авто-закрытия;
  • progress() — метод для управления визуальным индикатором прогресса.

Возврат значений в специализированных методах

Методы iziToast.success(), iziToast.error(), iziToast.warning(), iziToast.info() являются обертками над iziToast.show() и возвращают тот же объект уведомления, что и основной метод.

Пример:

let successToast = iziToast.success({
    title: 'Готово',
    message: 'Файл успешно загружен'
});

successToast.destroy(); // Закрытие уведомления через объект

Это позволяет не различать поведение различных типов уведомлений при программном управлении.


Использование возвращаемого идентификатора

Каждое уведомление получает уникальный идентификатор (id), который можно использовать для поиска или управления уведомлением вне контекста прямого вызова.

let toast = iziToast.show({
    title: 'Внимание',
    message: 'Проверка данных'
});

console.log(toast.id); // пример использования идентификатора

Идентификатор особенно полезен при динамическом создании уведомлений в циклах или при условной логике, где необходимо закрыть конкретное уведомление программно.


Взаимодействие с объектом уведомления

Возвращаемый объект предоставляет методы для работы с уведомлением после его создания:

  • destroy() — немедленно закрывает уведомление и очищает ресурсы.
  • reset() — сбрасывает таймер авто-закрытия на исходное значение.
  • progress(percent) — управляет прогресс-баром уведомления. Можно задавать числовое значение от 0 до 100.

Пример динамического управления:

let toast = iziToast.show({
    title: 'Загрузка',
    message: 'Идет обработка данных',
    timeout: 0,
    progressBar: true
});

let progress = 0;
let interval = setInterval(() => {
    progress += 10;
    toast.progress(progress);

    if (progress >= 100) {
        toast.destroy();
        clearInterval(interval);
    }
}, 500);

Возвращаемые значения при событиях

При добавлении обработчиков событий (onOpening, onClosing, onClosed, onOpened) контекст функции получает объект уведомления, который совпадает с возвращаемым объектом метода. Это обеспечивает доступ к идентификатору и настройкам прямо внутри колбэка.

iziToast.show({
    title: 'Информация',
    message: 'Событие открытия',
    onOpening: function(instance, toast){
        console.log(toast.id); // доступ к объекту уведомления
    }
});

Сводная таблица возвращаемых объектов

Метод Возвращаемое значение Примечание
iziToast.show() Объект уведомления Основной метод, включает все свойства и методы
iziToast.success() Объект уведомления Обертка, функционал идентичен show()
iziToast.error() Объект уведомления Обертка
iziToast.warning() Объект уведомления Обертка
iziToast.info() Объект уведомления Обертка

Практическое значение возвратов

  • Программное закрытие уведомлений без привязки к DOM-элементам.
  • Динамическое управление прогрессом и временем отображения.
  • Отслеживание событий и состояния каждого уведомления.
  • Повышение читаемости и поддержки кода через централизованное хранение объектов уведомлений.

Возвращаемые значения iziToast обеспечивают полное управление уведомлениями и позволяют создавать сложные сценарии взаимодействия пользователя с интерфейсом, сохраняя при этом чистую и поддерживаемую архитектуру кода.