Skip to content

Commit

Permalink
feat(facebook-service): better error handling
Browse files Browse the repository at this point in the history
implements edits from pull #55
  • Loading branch information
ihadeed committed Apr 2, 2017
1 parent 2d4376f commit d5a1061
Showing 1 changed file with 62 additions and 34 deletions.
96 changes: 62 additions & 34 deletions src/providers/facebook.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,11 @@ export class FacebookService {
* @param params {InitParams} Initialization parameters
*/
init(params: InitParams): void {
FB.init(params);
try {
FB.init(params);
} catch (e) {
console.error('ng2-facebook-sdk: ', e);
}
}

/**
Expand All @@ -64,15 +68,19 @@ export class FacebookService {
api(path: string, method: ApiMethod = 'get', params: any = {}): Promise<any> {
return new Promise<any>((resolve, reject) => {

FB.api(path, method, params, (response: any) => {
if(!response){
reject();
}else if(response.error){
reject(response.error);
}else{
resolve(response);
}
});
try {
FB.api(path, method, params, (response: any) => {
if (!response) {
reject();
} else if (response.error) {
reject(response.error);
} else {
resolve(response);
}
});
} catch (e) {
reject(e);
}

});
}
Expand All @@ -93,11 +101,15 @@ export class FacebookService {
ui(params: UIParams): Promise<UIResponse> {
return new Promise<any>((resolve, reject) => {

FB.ui(params, (response: any) => {
if(!response) reject();
else if(response.error) reject(response.error);
else resolve(response);
});
try {
FB.ui(params, (response: any) => {
if(!response) reject();
else if(response.error) reject(response.error);
else resolve(response);
});
} catch (e) {
reject(e);
}

});
}
Expand All @@ -109,13 +121,17 @@ export class FacebookService {
getLoginStatus(): Promise<LoginStatus> {
return new Promise<LoginStatus>((resolve, reject) => {

FB.getLoginStatus((response: LoginStatus) => {
if (!response) {
reject();
} else {
resolve(response);
}
});
try {
FB.getLoginStatus((response: LoginStatus) => {
if (!response) {
reject();
} else {
resolve(response);
}
});
} catch (e) {
reject(e);
}

});
}
Expand Down Expand Up @@ -145,13 +161,17 @@ export class FacebookService {
login(options?: LoginOptions): Promise<LoginResponse> {
return new Promise<LoginResponse>((resolve, reject) => {

FB.login((response: LoginResponse) => {
if (response.authResponse) {
resolve(response);
}else{
reject();
}
}, options);
try {
FB.login((response: LoginResponse) => {
if (response.authResponse) {
resolve(response);
}else{
reject();
}
}, options);
} catch (e) {
reject(e);
}

});
}
Expand All @@ -165,11 +185,15 @@ export class FacebookService {
* @returns {Promise<any>} returns a promise that resolves when the user is logged out
*/
logout(): Promise<any> {
return new Promise<any>((resolve) => {
return new Promise<any>((resolve, reject) => {

FB.logout((response: any) => {
resolve(response);
});
try {
FB.logout((response: any) => {
resolve(response);
});
} catch (e) {
reject(e);
}

});
}
Expand All @@ -187,7 +211,11 @@ export class FacebookService {
* @returns {AuthResponse} returns an [AuthResponse](../auth-response) object
*/
getAuthResponse(): AuthResponse {
return <AuthResponse>FB.getAuthResponse();
try {
return <AuthResponse>FB.getAuthResponse();
} catch (e) {
console.error('ng2-facebook-sdk: ', e);
}
}

}
Expand Down

0 comments on commit d5a1061

Please sign in to comment.