Skip to content

Commit

Permalink
[change] Improve logic of supportsSwDownload to use navigator.service…
Browse files Browse the repository at this point in the history
…Worker.ready
  • Loading branch information
nwtgck committed Jan 22, 2020
1 parent a07316a commit eb3d857
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions src/sw-download.ts
Expand Up @@ -4,21 +4,25 @@ export const supportsSwDownload: Promise<boolean> = (async () => {
if (typeof (window as any).safari !== 'undefined') {
return false;
}
let res: Response | undefined;
if (!("serviceWorker" in navigator)) {
return false;
}
// Wait until Service Worker is active
await navigator.serviceWorker.ready;
for (let retryLimit = 3; retryLimit !== 0; retryLimit--) {
// Sleep
await new Promise(resolve => setTimeout(resolve, 500));
try {
// Check whether response can be received
res = await fetch('/sw-download-support');
const res = await fetch('/sw-download-support');
// Success
if (res.status === 200) {
return await res.text() === 'OK';
}
} catch(err) {
// Noop
(() => {})();
}
// Success
if (res !== undefined && res.status === 200) {
return await res.text() === 'OK';
}
// Sleep
await new Promise(resolve => setTimeout(resolve, 500));
}
return false;
})();

0 comments on commit eb3d857

Please sign in to comment.