web client error handling improved

This commit is contained in:
Vladimir Enchev
2014-03-24 09:48:07 +02:00
parent 9223c2018a
commit a227bbc171
2 changed files with 31 additions and 12 deletions

View File

@@ -34,11 +34,18 @@ export module tk {
} }
public getJSON(url: string, successCallback: (result: Object) => void, errorCallback?: (e: Error) => void) { public getJSON(url: string, successCallback: (result: Object) => void, errorCallback?: (e: Error) => void) {
this.getString(url, function (data) { try
if (successCallback) { {
successCallback(JSON.parse(data)); 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) { public getImage(url: string, successCallback: (result: image_module.tk.ui.Image) => void, errorCallback?: (e: Error) => void) {

View File

@@ -10,19 +10,31 @@ export module tk {
* Downloads string from url. * Downloads string from url.
*/ */
public getString(url: string, successCallback: (result: string) => void, errorCallback?: (e: Error) => void) { public getString(url: string, successCallback: (result: string) => void, errorCallback?: (e: Error) => void) {
Client.get(url, function (data) { try {
if (successCallback) { Client.get(url, function (data) {
successCallback(Foundation.NSString.initWithDataEncoding(data, 4)); 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) { public getJSON(url: string, successCallback: (result: Object) => void, errorCallback?: (e: Error) => void) {
this.getString(url, function (data) { try {
if (successCallback) { this.getString(url, function (data) {
successCallback(JSON.parse(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) { public getImage(url: string, successCallback: (result: image_module.tk.ui.Image) => void, errorCallback?: (e: Error) => void) {