O código abaixo para detectar se um browser tem suporter para imagens do tipo Webp, faz uso dos comandos async / await para gerir as promises. Da mesma forma, o código abaixo pode ser executado em um service worker.
async function supportsWebp() {
if (!self.createImageBitmap) return false;
const webpData = 'data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=';
const blob = await fetch(webpData).then(r => r.blob());
return createImageBitmap(blob).then(() => true, () => false);
}
(async () => {
if(await supportsWebp()) {
console.log('Webp é suportado pelo navegador.');
}
else {
console.log('Webp não é suportado pelo navegador.');
}
})();




