虽然有事件循环机制, 但其本质上还是在一个单线程上执行, 它在同一时间也只能做一件事情, 如果它正在等待长期运行的同步调用返回,就不能做其他任何事情....可以在某些特定的情景下控制应用的行为, 如弱网环境下....(first.value); }
// 当MessageEvent类型的事件冒泡到 worker 时,事件监听函数 EventListener 被调用
worker.onmessage...(保证同源), 会看到worker.js只加载了一次, 下面分别是 index.html 和 index2.html 的 network 情况, 说明两个同源的页面是共享了同一个线程, 并且启动后, 刷新页面也不会重新去初始化...因此为了更好的管理, 我们可以手动调用 caches.delete 方法删掉对应 key 值的Cache 条目.
3) 更新
当重新进入 SW 页面, 或者在 SW 上的一个事件被触发并且过去 24 小时没有被下载时会触发更新