I try add to array with image event listener which catch load event and it's works. But sometimes i parameter passed to the decrement function is the same for all requests
var imgNumb = vectors.length;
function decrement(i, type){
imgNumb--;
console.log('Processed '+ type+' nr: ' + i + '. Left: '+ imgNumb);
}
for(var i in vectors)
{
if(jQuery('#canvas-'+i).length != 0){
var tempCont = document.getElementById('canvas-'+i);
tempImage[i] = new Image();
alert(i);
tempImage[i].addEventListener('load', function(){
decrement(i, 'canvas');
}, false);
type[i] = 'canvas';
tempImage[i].src = tempCont.toDataURL();
}
}
for example i get:
Processed canvas nr: 1. Left: 2
Processed canvas nr: 2. Left: 1
Processed canvas nr: 2. Left: 0
but alert (if it isn't inside handler) always return correct key number.