0

oninstallonactivate事件有什么区别?他们什么时候被解雇?我应该使用哪个事件来初始化诸如 IndexedDB 和 WebSocket之类的千载难逢的操作?

4

1 回答 1

3

oninstall事件是 Service Worker 收到的第一个事件,旨在用于准备活动,例如缓存和数据库初始化。

onactivate事件在installing阶段完成后触发(当所有延长生命周期的承诺都已解决时)。正是在这一点上,Service Worker 完全可以运行,并且可以清理以前版本正在使用的资源。

如果使用了该事件,则该onactivate事件将延迟到传递给event.waitUntil(f)解决的承诺。这确保了工作人员在其依赖项准备好之前不会开始工作。

这篇 MDN 文章是一个有用的总结:https ://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker_API/Using_Service_Workers#Basic_architecture

Service Worker 生命周期的流程图摘要。

于 2015-04-16T09:26:39.090 回答