| self.onmessage = function(e) { |
| var port = e.data.port; |
| var message = []; |
| |
| var promise = Promise.resolve() |
| .then(function() { |
| // 1st matchAll() |
| return self.clients.matchAll().then(function(clients) { |
| clients.forEach(function(client) { |
| message.push(client.id); |
| }); |
| }); |
| }) |
| .then(function() { |
| // 2nd matchAll() |
| return self.clients.matchAll().then(function(clients) { |
| clients.forEach(function(client) { |
| message.push(client.id); |
| }); |
| }); |
| }) |
| .then(function() { |
| // Send an array containing ids of clients from 1st and 2nd matchAll() |
| port.postMessage(message); |
| }); |
| e.waitUntil(promise); |
| }; |