基于 PWA 的缓存调用可以比网络调用慢吗?
这是我在其中一个 Web 应用程序中看到的 JSON 资源:
缓存清除并从服务调用:426 ms 从服务辅助角色调用(在开发工具/网络大小中,从服务中提到 工人( : 576 ms
该文件在 Manifest.json 中没有条目,但在 ngsw-manifest.json 中以静态形式提及该文件。
我不确定这种想法是否错误,但看起来从缓存中读取比网络调用此处的某些资源慢。
是的,如果在服务工作线程中fetch
事件处理程序,则会为网络请求增加一些延迟。因为它会拦截来自您的应用程序的所有请求。但是,当您立即从缓存存储 API 提供响应而不是进入网络时,使用它的美妙之处和好处会大放异彩。
您可能需要在有关 Google 搜索中服务辅助角色使用情况的文章中阅读有关此主题的更多信息 https://web.dev/google-search-sw/#problem:-service-worker-overhead
如果没有服务工作进程,此网络请求将立即发生 在用户导航时。注册服务工作进程时,它始终 需要启动并有机会执行其获取事件 处理程序,即使这些提取处理程序没有机会这样做 除了转到网络之外的任何东西。它的时间量 启动和运行服务工作进程代码是纯粹的开销 添加到每个导航的顶部。