Sveltejs Academy · 课时

readable Store 与自定义启动函数

创建由计时器、传感器或外部数据源支持的只读 Store。

第 4 / 4 课13 个步骤

readable Store 与自定义启动函数 是 CoddyKit 上的免费 Sveltejs Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Sveltejs Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Sveltejs Academy 课程共包含 4 节课。

只读存储器

readable 存储器只有 subscribe。使用者无法修改它。

导入 readable

它来自 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");

重用此模式

工厂模式让您可以轻松创建特定领域的只读存储器。

与 writable 的比较

只读存储器可以防止使用者意外写入。请将它用于由单个模块拥有的数据源。

将 writable 转换为 readable

只公开 writable 的 subscribe 方法,即可为使用者提供只读视图。

export const time = { subscribe: timeStore.subscribe };

快速检查

启动函数什么时候运行?

回顾

readable 会创建具有延迟启动和清理函数的只读存储器,非常适合外部数据源。

免费开始

用 AI 导师学习 HTML — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
41
课程
163

常见问题解答

「readable Store 与自定义启动函数」课时是免费的吗?

是的 — 「readable Store 与自定义启动函数」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Sveltejs Academy 课程的其余内容,请升级到 CoddyKit PRO。 Sveltejs Academy 课程共包含 4 节课。

「readable Store 与自定义启动函数」这节课中我会学到什么?

创建由计时器、传感器或外部数据源支持的只读 Store。 你通过在浏览器中直接运行的动手代码来练习 Sveltejs Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Sveltejs Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Sveltejs Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「readable Store 与自定义启动函数」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Sveltejs Academy 课中编写并运行代码吗?

能。每节 Sveltejs Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 创建可写 Store
  2. 使用 $ 自动订阅
  3. 更新 Store:set() 与 update()
  4. readable Store 与自定义启动函数
← 返回 Sveltejs Academy