一旦用户访问网站,我就有兴趣运行后台进程。我的问题非常广泛,但例如我想每分钟左右轮询一次 JSON API,并在 JSON API 的响应发生变化时向用户发送网络通知。服务人员可以做到这一点吗?我怎样才能做到这一点?
如果这是可能的,那么我是否可以在服务工作者中运行 WebAssembly 文件,以便即使网站未打开,应用程序也可以运行?
或者我可以运行服务人员来获取网站的最新版本并将其缓存,以便网站在下次访问时立即加载?
一旦用户访问网站,我就有兴趣运行后台进程。我的问题非常广泛,但例如我想每分钟左右轮询一次 JSON API,并在 JSON API 的响应发生变化时向用户发送网络通知。服务人员可以做到这一点吗?我怎样才能做到这一点?
如果这是可能的,那么我是否可以在服务工作者中运行 WebAssembly 文件,以便即使网站未打开,应用程序也可以运行?
或者我可以运行服务人员来获取网站的最新版本并将其缓存,以便网站在下次访问时立即加载?
在用户访问网站后,无法注册无限期继续运行的持久后台进程。
访问网站时可以注册服务工作者。Service Worker 大部分时间不会运行,但可以被传入推送通知之类的事件“唤醒” ,即使用户当前没有打开与您的 Web 应用关联的页面。
按照设计,当服务工作者以这种方式被唤醒时,它只会在终止之前运行很短的一段时间。它还有望向用户显示通知,让他们知道正在发生的事情。通过事件唤醒push但不显示通知的服务工作者可能会发现自己被浏览器禁用。