0Pricing
Sveltejs Academy · Урок

Хранилища 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 — локальная установка не требуется.

Все уроки этого курса

  1. Создание доступного для записи хранилища
  2. Подписка с помощью автоматической подписки $
  3. Обновление хранилищ: set() и update()
  4. Хранилища readable и пользовательские функции запуска
← Назад к Sveltejs Academy