我正在与Service Workers一起编写我的第一个应用程序,并试图获取注册以便与pushManager进行交互。
我可以使用以下任一方法执行此操作:
nagivator.serviceWorker.getRegistration()
Run Code Online (Sandbox Code Playgroud)
要么
navigator.serviceWorker.ready.then()
Run Code Online (Sandbox Code Playgroud)
我应该使用哪个?有什么区别?
使用ready使事情变得更简单,因为它“以返回的promise永远不会拒绝的方式设计。相反,它会等到promise通过具有活动worker的serviceworker注册来解决。” (请参阅Service Worker 规范中准备就绪的定义)。
这反过来会导致调用 Push API 的订阅方法时出现更少的故障模式。
从 getRegistration() 上下文调用subscribe会添加一些额外的失败模式:
[...剪...]
[...剪...]
| 归档时间: |
|
| 查看次数: |
1831 次 |
| 最近记录: |