oninstall
和onactivate
事件有什么区别?他们什么时候被解雇?我应该使用哪个事件来初始化诸如 IndexedDB 和 WebSocket之类的千载难逢的操作?
问问题
289 次
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
于 2015-04-16T09:26:39.090 回答