From a227bbc1713044a0d83df670bd42820e37e9b2e0 Mon Sep 17 00:00:00 2001 From: Vladimir Enchev Date: Mon, 24 Mar 2014 09:48:07 +0200 Subject: [PATCH] web client error handling improved --- WebClient/web_client.android.ts | 15 +++++++++++---- WebClient/web_client.ios.ts | 28 ++++++++++++++++++++-------- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/WebClient/web_client.android.ts b/WebClient/web_client.android.ts index 748ccd70e..40677fd55 100644 --- a/WebClient/web_client.android.ts +++ b/WebClient/web_client.android.ts @@ -34,11 +34,18 @@ export module tk { } public getJSON(url: string, successCallback: (result: Object) => void, errorCallback?: (e: Error) => void) { - this.getString(url, function (data) { - if (successCallback) { - successCallback(JSON.parse(data)); + try + { + this.getString(url, function (data) { + if (successCallback) { + successCallback(JSON.parse(data)); + } + }, errorCallback); + } catch (ex) { + if (errorCallback) { + errorCallback(ex); } - }, errorCallback); + } } public getImage(url: string, successCallback: (result: image_module.tk.ui.Image) => void, errorCallback?: (e: Error) => void) { diff --git a/WebClient/web_client.ios.ts b/WebClient/web_client.ios.ts index 5e6d5d69d..4864e6336 100644 --- a/WebClient/web_client.ios.ts +++ b/WebClient/web_client.ios.ts @@ -10,19 +10,31 @@ export module tk { * Downloads string from url. */ public getString(url: string, successCallback: (result: string) => void, errorCallback?: (e: Error) => void) { - Client.get(url, function (data) { - if (successCallback) { - successCallback(Foundation.NSString.initWithDataEncoding(data, 4)); + try { + Client.get(url, function (data) { + if (successCallback) { + successCallback(Foundation.NSString.initWithDataEncoding(data, 4)); + } + }, errorCallback); + } catch (ex) { + if (errorCallback) { + errorCallback(ex); } - }, errorCallback); + } } public getJSON(url: string, successCallback: (result: Object) => void, errorCallback?: (e: Error) => void) { - this.getString(url, function (data) { - if (successCallback) { - successCallback(JSON.parse(data)); + try { + this.getString(url, function (data) { + if (successCallback) { + successCallback(JSON.parse(data)); + } + }, errorCallback); + } catch (ex) { + if (errorCallback) { + errorCallback(ex); } - }, errorCallback); + } } public getImage(url: string, successCallback: (result: image_module.tk.ui.Image) => void, errorCallback?: (e: Error) => void) {