UNPKG

@augment-vir/web

Version:

A collection of augments, helpers types, functions, and classes only for web (frontend) JavaScript environments.

21 lines (20 loc) 659 B
import { DeferredPromise } from '@augment-vir/common'; /** * Load an image from a URL and wait for it to be totally loaded. * * @category Web * @category Package : @augment-vir/web * @package [`@augment-vir/web`](https://www.npmjs.com/package/@augment-vir/web) */ export async function loadImage(imageUrl) { const deferredPromise = new DeferredPromise(); const newImage = new Image(); newImage.onload = () => { deferredPromise.resolve(newImage); }; newImage.onerror = () => { deferredPromise.reject(new Error(`Failed to load '${imageUrl}'`)); }; newImage.src = imageUrl; return deferredPromise.promise; }