Exercices Promesses
Exercice - Promesses#
- Créer une fonction
combineImages
avec un seul paramètre: un tableau d’URL - Cette fonction doit charger chaque URL du tableau afin d’effectuer le chargement asynchrone des images (avec
new Image()
, puisonload
) - Dessiner chaque image dans un
canvas
HTML (avecctx.drawImage(img, x, y)
).x
ety
doivent être des positions aléatoires mais l’image doit toujours être visible entièrement - Insérer le canvas dans la page
On note que les images s’affichent progressivement (dégradez les performances réseaux, ou mettez un timer pour mieux voir l’effet). Si l’on veut obtenir une image finale «terminée», nous allons modifier notre code et utiliser les promesses :
- Votre fonction doit retourner une Promesse qui contient l’image générée, au lieu de modifier directement un canvas. Attention de bien attendre le chargement de toutes les images avant de résoudre la promesse.
- Avec le résultat de l’appel de cette fonction, créer une nouvelle image qui recevra son contenu et qui sera intégrée dans la page (ou en arrière-plan CSS d’une
div
)
Des images :
Les autres navigateurs ici : https://github.com/alrra/browser-logos/tree/master/src