PushManager subscription promise never fulfill nor reject

独自空忆成欢 提交于 2020-01-01 04:55:13

问题


I am currently facing an issue with some Chrome (Chromium) version where the PushManager.subscribe promise from a ServiceWorker stays in a pending state.

The code itself is pretty simple :

return serviceWorkerRegistration.pushManager.subscribe({
    userVisibleOnly: true
  });

I have a valid and accessible JSON manifest, providing the GCM Sender ID. I also tried different implementations, as described in this post, but the result is still the same.

The subscription part works well with every 47+ version, the issue appears with older releases. (I'm using Chromium continuous builds to test the different major versions).

Also note that, while using Chromium 46 (and below) on Ubuntu, the promise rejects after 15 minutes with an Internal Server Error.


回答1:


The problem is with userVisibleOnly: true as a parameter.

This was only introduced in chrome 47. Before that you need to pass it as a manifest parameter. https://johnme-gcm.appspot.com/manifest.json is a good example to follow.




回答2:


It appears that the Chromium Team was working on it. If I'm not mistaken, a fix will be release on Chrome 55




回答3:


This issue is reproducible on chrome 55.0.2883.87 on Windows 7. The subscribe promise is neither resolving nor rejecting. But this is happening only on one machine with the combination mentioned




回答4:


I had the same issue in Chrome 67, and a browser restart has fixed it.




回答5:


Update and restart my google chrome was resolved for me




回答6:


I had the same issue while using a corporate proxy. Because there's no Internet connection, the subscription cannot be established and the Promise never resolves.



来源:https://stackoverflow.com/questions/35775485/pushmanager-subscription-promise-never-fulfill-nor-reject

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!