ここでは、ブラウザのイメージのテストをロードする簡単なテストコードがあります。ここでは、非同期のonloadイベントを使用してロードが完了した後にイメージをdomに追加します。画像はうまくロードされます。 画像を連続してリロードすると問題が発生する image-1の前にimage-2が読み込まれると、画像3が最初に読み込まれるなどの問題があります。最初のload image1のように、その後、私はそれを行うことができますページを読み込むたびにimage2、image3など。イメージを連続してロードする方法を確認する方法
var images = ['cat1.png','cat2.jpg','cat3.jpg'];
var i = 0;
images.forEach(function(elem,index,arr){
var image=new Image();
image.onload = function(){
document.body.appendChild(image);
console.log(++i);
};
image.onerror = function(){
console.log('error occured');
}
image.src = elem;
image.style.width = '300px';
image.style.height = '300px';
});
使用はhttps://developer.mozilla.org/nl/docs/Web/を約束しますJavaScript/Reference/Global_Objects/Promise – Roberrrt
foreachは同期メソッドです。最初のイメージが読み込まれるまですべてをブロックするはずです。 –
@ AL-zami 'onload'は非同期イベントですので、' forEach'のコールバックはイメージのダウンロードを待つのではなく、ダウンロードを開始してから続けます – Frxstrem