我有一个向服务工作线程脚本发送消息的网页。为了能够做到这一点,网页需要是服务器工作脚本的客户端。 有不同的方法可以做到这一点,但据我所知,所有方法都会导致客户端网页缓存在服务工作线程中。
我想知道网页是否可以将消息发送到服务器工作脚本,而无需将其缓存到服务器工作人员?
最佳答案
当然,服务工作线程根本不需要缓存任何内容,甚至不需要服务工作线程实现 fetch
处理程序并拦截网络请求。您可以创建一个只有一个消息
处理程序的服务工作线程,用于监听来自其控制的页面的传入消息:
// service-worker.js:
self.addEventListener('message', event => {
// Do something with event.data
});
但是,如果您只是使用服务工作人员来监听消息,而不是拦截网络请求,我想知道是否有像 SharedWorker
这样的替代方案或者只是一个普通的Worker
会是更好的选择吗?
关于caching - 如何不缓存服务器工作客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44169444/