具有持久数据的网络工作者

Web worker with persistent data

我正在构建一个包含大量 json 数据的 Web 应用程序。

数据将被过滤并显示在 table 中,理想情况下我希望过滤由网络工作者完成。

然而,据我所知,在 parent 和工作对象之间传输 json 数据也会导致开销,所以我想知道:

worker 是否可以加载 json 数据一次,缓存它,然后在调用之间使数据持久化?

  1. 在页面加载期间,parent 创建了一个 worker
  2. 然后它要求 worker 加载和缓存 json 数据
  3. 当用户输入不同的过滤器时,parent 可以要求工作人员 return 仅提供相关数据。

这可能吗,有意义吗?

/帕特里克

工作人员可以使用 IndexedDB 进行持久存储。

Workers 不能使用 Web Storage (localStorage) but there are good small IndexedDB libs, like Dexie——它可以在 workers 中使用,这使得使用 IndexedDB 几乎和使用 localStorage 一样简单。