Source code
Revision control
Copy as Markdown
Other Tools
async function doTest(e)
{
if (e.resultingClientId) {
const promise = new Promise(async resolve => {
let counter = 0;
const client = await self.clients.get(e.resultingClientId);
if (client)
client.postMessage(counter++);
if (e.request.url.includes("repeatMessage")) {
setInterval(() => {
if (client)
client.postMessage(counter++);
}, 100);
}
setTimeout(() => {
resolve(fetch(e.request));
}, 1000);
});
e.respondWith(promise);
}
}
self.addEventListener("fetch", e => e.waitUntil(doTest(e)));