Service Workers & Progressive Web Apps

What is the purpose of the 'activate' event in Service Workers?
self.addEventListener('activate', event => {
  event.waitUntil(
    Promise.all([
      caches.keys().then(cacheNames => {
        return Promise.all(
          cacheNames.map(cacheName => {
            if (!CURRENT_CACHES.includes(cacheName)) {
              return caches.delete(cacheName);
            }
          })
        );
      }),
      clients.claim()
    ])
  );
});
Next Question (16/20)