Хранилища readable и пользовательские функции запуска
Создавайте доступные только для чтения хранилища на основе таймеров, датчиков или внешних источников данных
«Хранилища readable и пользовательские функции запуска» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.
Хранилища только для чтения
Хранилище readable содержит только метод subscribe. Потребители не могут изменять его.
Импорт хранилища только для чтения
Импортируется из svelte/store.
import { readable } from "svelte/store";Начальное значение и функция запуска
Передайте начальное значение и функцию запуска. Функция запуска получает set и выполняется при появлении первого подписчика.
export const time = readable(new Date(), (set) => {
const id = setInterval(() => set(new Date()), 1000);
return () => clearInterval(id);
});Функция остановки
Верните из функции запуска функцию очистки. Svelte вызовет её, когда последний подписчик отменит подписку.
Отложенная настройка
Функция запуска не выполняется, пока кто-либо не подпишется. Это экономит ресурсы, когда хранилище не используется.
Варианты использования
Часы, показания датчиков, потоки веб-сокетов, геолокация — всё, что управляется внешними таймерами или событиями.
Объединение с компонентами
Подпишитесь с помощью $time в любом компоненте. Svelte обработает очистку.
<p>The time is {$time.toLocaleTimeString()}</p>Начальное значение без обновлений
Не указывайте функцию запуска для постоянного хранилища только для чтения. Это полезно для статической конфигурации.
export const apiBase = readable("https://api.example.com");Повторное использование шаблона
Шаблон фабрики позволяет легко создавать хранилища только для чтения для конкретных предметных областей.
Сравнение с записываемым хранилищем
Хранилища только для чтения предотвращают случайную запись со стороны потребителей. Используйте их для источников, которыми владеет один модуль.
Преобразование записываемого хранилища в хранилище только для чтения
Предоставьте потребителям только метод subscribe записываемого хранилища, чтобы дать им доступ только для чтения.
export const time = { subscribe: timeStore.subscribe };Быстрая проверка
Когда выполняется функция запуска?
Итоги
readable создаёт хранилища только для чтения с отложенным запуском и функциями очистки — идеальный вариант для внешних источников.
Часто задаваемые вопросы
Урок «Хранилища readable и пользовательские функции запуска» бесплатный?
Да — полный текст урока «Хранилища readable и пользовательские функции запуска» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.
Чему я научусь в уроке «Хранилища readable и пользовательские функции запуска»?
Создавайте доступные только для чтения хранилища на основе таймеров, датчиков или внешних источников данных Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Sveltejs Academy?
Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Хранилища readable и пользовательские функции запуска»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Sveltejs Academy?
Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Создание доступного для записи хранилища
- Подписка с помощью автоматической подписки $
- Обновление хранилищ: set() и update()
- Хранилища readable и пользовательские функции запуска