2

最近,在 CoderWall 上https://coderwall.com/p/rkls8g

使用 Web Workers

当涉及到使用 LocalStorage 或 XMLHttpRequest 之类的同步操作时,最好使用工作人员以非阻塞方式完成工作......

真的有必要吗?对于 AJAX,既然它已经是异步的,那么似乎没有必要引入更多使用 WebWorkers 的开销?

对于 LocalStorage,论据是

LocalStorage 的 API 将所有数据直接写入文件系统,因此它必须锁定文件。它是同步完成的

这真的很慢吗?由于我希望只有 1 个应用程序(您的浏览器)为您的域写入 LocalStorage,它不太可能阻止 isit?LocalStorage 的上限仅为 5MB?我看到写入 LocalStorage 的唯一情况可能是您有多个选项卡/浏览器访问同一个 Web 应用程序并写入大量内容?即便如此,我想它应该被缓存,希望是回写缓存,那么它应该又快了?

4

1 回答 1

1

我相信大多数浏览器都会像内存存储一样实现网络存储。因此,您不会比使用 web worker 获得性能优势。

要处理多个选项卡/浏览器,您将使用存储事件

如您所见,localStorage 并不慢,但有时读写不一致。除了使用 IndexedDB 或 WebSQL 之类的事务存储之外,您无能为力。

于 2012-12-27T06:06:33.307 回答