importScripts('https://cdn.polyfill.io/v2/polyfill.min.js?features=Promise'); self.addEventListener('message', function(event) { // we could have multiple listeners for different event.data // instead we just do a simple smoke test for Promise.resolve() var id = event.data.id; try { Promise.resolve() .then(function() { self.postMessage({id: id, success: true}); }) .catch(function() { self.postMessage({id: id, success: false, message: 'resolve rejected!'}); }); } catch (error) { self.postMessage({id: id, success: false, message: error.message}); } });