buenas.
el problema que tiene tu script es que es asíncrono. es decir, el script no espera a que se complete la petición http ‒ para cargar la imagen ‒ ni a que que se complete el evento onload. entonces, bucle como el bucle realiza todo de un golpe, al finalizar no se realiza ninguna de las peticiones, solo la última. ¿qué debes hacer? debes crear una especie de bucle en el mismo evento onload de la imagen de tal modo que una vez carga la imagen, extrae y almacena la información, luego cambia el src de la misma imagen. de esta manera se garantiza que se procese todas las imagenes. ahora, si una de las imagenes falla en cargar, creo que se rompe el ciclo.
Código:
image.onload = function(){
// procesar datos de la imagen;
this.src = proxima_url;
// al cambiar el src, se realiza otra peticion y por tanto se vuelve a inicar el evento;
};