我的问题与使用 localStorage 的性能挫折和可能的解决方法有关。据我了解(我对此不太确定),一旦在页面上看到对 localStorage 的引用(编译时间?),它就会阻塞线程并从磁盘读取数据以填充 localStorage 内存以供参考. 或者,如果域过去存储过数据,它可能会在磁盘上查找数据,因此它知道本地存储已经在那里使用。
在任何一种情况下,由于 localstorage api 是同步的,它会阻止线程从磁盘读取,让我们等待数据被读取,然后页面才能执行其他任何操作。假设我们在页面中插入一个 iframe,该页面以不同的域作为其源动态加载。如果我们使用这个 iframe 来通过 postMessage 进行所有本地存储的读取和写入,如本文所述,那么线程不是只有在加载 iframe 时才被阻塞吗?这是否为我们提供了使用本地存储的异步方法?还是我完全不在了?