Skip to content

Instantly share code, notes, and snippets.

@gokulkrishh
Last active July 21, 2020 14:38
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save gokulkrishh/1b47bad975eed2f50f66 to your computer and use it in GitHub Desktop.
Save gokulkrishh/1b47bad975eed2f50f66 to your computer and use it in GitHub Desktop.
Service worker fetch event
//After install, fetch event is triggered for every page request
self.addEventListener("fetch", function (event) {
console.log("Request -->", event.request.url);
//To tell browser to evaluate the result of event
event.respondWith(
caches.match(event.request) //To match current request with cached request it
.then(function(response) {
//If response found return it, else fetch again.
return response || fetch(event.request);
})
.catch(function(error) {
console.error("Error: ", error);
})
);
});
@kaflan
Copy link

kaflan commented Jan 23, 2020

What is "self"?

@gokulkrishh
Copy link
Author

gokulkrishh commented Jan 23, 2020

self inside sw === window kind of object or perhaps this but pointing to sw object.

@mrarnolds
Copy link

self is refering to ServiceWorkerGlobalScope object.
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment