blob: 19d4b189d8594e44077755e5e88e596f059199a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
async function messageClient(clientId, message) {
const client = await clients.get(clientId);
client.postMessage(message);
}
addEventListener('fetch', event => {
let resolve;
const promise = new Promise(r => resolve = r);
function onAborted() {
messageClient(event.clientId, event.request.signal.reason);
resolve();
}
messageClient(event.clientId, 'fetch event has arrived');
event.respondWith(promise.then(() => new Response('hello')));
event.request.signal.addEventListener('abort', onAborted);
});
|