我在服务工作者MDN文档中遇到了以下几行。 https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API服务人员使用情况。
导致本地存储无法访问服务工作者
的原因是什么它被设计为完全异步;因此,同步XHR和localStorage等API无法在服务工作者中使用。
答案 0 :(得分:1)
访问文件系统(或网络)的同步API可能会在不确定的时间段内阻止服务工作者的线程。这可能会阻止服务工作者在等待同步操作完成时执行有用的工作,例如响应其他事件。
如果您查看LocalStorage API的documentation,您会发现其所有方法(setItem
,getItem
等)都是同步的。如果它们是异步的,那么它们要么接受回调,比如IndexedDB API,要么它们返回Promise,比如Cache Storage API。
IndexedDB和Cache Storage API都可以在服务工作者中使用。