{{#await imagePromise}} <img class="{{className}} avatar" aria-hidden="true" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" /> {{then src}} <img class="{{className}} avatar" aria-hidden="true" src="{{account.avatar}}" /> {{catch error}} <svg class="{{className}} avatar" aria-hidden="true"> <use xlink:href="#fa-user" /> </svg> {{/await}} <style> .avatar { width: 48px; height: 48px; border-radius: 4px; } svg.avatar { fill: var(--deemphasized-text-color); } </style> <script> export default { computed: { imageSrc: (account) => account.avatar, imagePromise: (imageSrc) => new Promise((resolve, reject) => { let img = new Image() img.onload = resolve img.onerror = reject img.src = imageSrc }) } } </script>