From ca9f870ff6316fb6408d6c9585180a259ee0ab52 Mon Sep 17 00:00:00 2001 From: Jirat Kijlerdpornpailoj Date: Sun, 1 Oct 2017 15:49:59 +0700 Subject: [PATCH] [fix] Image.getSize failure callback Fix #561 Close #665 --- src/modules/ImageLoader/index.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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;