UNPKG

toloframework

Version:

Javascript/HTML/CSS compiler for Firefox OS or nodewebkit apps using modules in the nodejs style.

40 lines (38 loc) 1.21 kB
/** * @module * Charger des images de façon asynchrone. */ require("polyfill.promise"); /** * Retourne un promise dont la data est un dictionnaire avec les * messages d'erreurs associés à chaque image chargée. Bien sûr, ce * dictionnaire est vide si tout s'est bien passé, sinon chaque clef est * une URL. * Il n'y a donc jamais de `reject` dans le promise retourné. * * @param src URL vers une image ou tableau d'URLs vers des images. */ module.exports = function(src) { if (!Array.isArray(src)) src = [src]; return new Promise( function(resolve, reject) { var errors = {}; var size = src.length; var next = function() { size--; if (size <= 0) resolve(errors); }; src.forEach( function(url) { var img = new Image(); img.onload = next; img.onerror = function(err) { errors[url] = err; next(); }; img.src = url; } ); } ); };