javascriptの画像の読み込みは非同期処理なので、複数枚を描画する場合は描画順が変わることがあります。
例:image_1.jpg -> image_4.jpg -> image_2.jpg -> image_3.jpg
そこでpromiseで画像描画の順番を制御したいのですが、複数枚(n枚)の画像を描画する際はどの様にコーディングすれば良いでしょうか。
下記は、2枚の画像を描画するサンプルになります。
javascript
1 2 //非同期処理 3 var promise1 = new Promise(function(resolve, reject) { 4 5 //画像オブジェクト 6 var img = new Image(); 7 8 //読込終了後の処理 9 img.onload = function(ev){ 10 resolve(true); 11 } 12 13 //url 14 img.src = "./image1.jpg"; 15 }); 16 17 //次の処理 18 promise1.then(function(value) { 19 20 //画像オブジェクト 21 var img = new Image(); 22 23 //読込終了後の処理 24 img.onload = function(ev){ 25 resolve(true); 26 } 27 28 //url 29 img.src = "./image2.jpg"; 30 }); 31
回答1件
あなたの回答
tips
プレビュー