服务工作者的架构

时间:2017-05-20 06:46:46

标签: local-storage web-worker service-worker

我在服务工作者MDN文档中遇到了以下几行。 https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API服务人员使用情况。

导致本地存储无法访问服务工作者

的原因是什么
  

它被设计为完全异步;因此,同步XHR和localStorage等API无法在服务工作者中使用。

1 个答案:

答案 0 :(得分:1)

访问文件系统(或网络)的同步API可能会在不确定的时间段内阻止服务工作者的线程。这可能会阻止服务工作者在等待同步操作完成时执行有用的工作,例如响应其他事件。

如果您查看LocalStorage API的documentation,您会发现其所有方法(setItemgetItem等)都是同步的。如果它们是异步的,那么它们要么接受回调,比如IndexedDB API,要么它们返回Promise,比如Cache Storage API。

IndexedDB和Cache Storage API都可以在服务工作者中使用。