diff --git a/src/modules/ImageLoader/index.js b/src/modules/ImageLoader/index.js index e8f1676e..7ff0c58d 100644 --- a/src/modules/ImageLoader/index.js +++ b/src/modules/ImageLoader/index.js @@ -22,7 +22,7 @@ const ImageLoader = { getSize(uri, success, failure) { let complete = false; const interval = setInterval(callback, 16); - const requestId = ImageLoader.load(uri, callback, callback); + const requestId = ImageLoader.load(uri, callback, errorCallback); function callback() { const image = requests[`${requestId}`]; @@ -38,6 +38,14 @@ const ImageLoader = { clearInterval(interval); } } + + function errorCallback() { + if (typeof failure === 'function') { + failure(); + } + ImageLoader.abort(requestId); + clearInterval(interval); + } }, load(uri, onLoad, onError): number { id += 1;