la capture des erreurs dans le fichier d'enregistrement des promesses

Angular2 est très utile promet d'erreur attraper mécanisme pour les chaînes de promesses. Pourtant, le cas habituel (au moins pour moi), c'est que des promesses appelée à partir de la volonté du gestionnaire de la précédente. Cela est dû à la nécessité de traiter l'information avant le début de la prochaine promesse. Par exemple:

this.d( "facebookOAuthLogin() - starts" );
this.fbProvider.login().then(
( loginResponse: { status: string, authResponse: any, accessToken: string, expiresIn: string, session_key: string, sig: string, userID: string } ) =>
{
this.d( "facebookOAuthLogin() - fbProvider.login() succeeded" );
Config.config.sessionToken = loginResponse.authResponse.accessToken;
this.fbProvider.getCurrentUserProfile().then(
( profileData : { email: string, name: string } ) =>
{
this.d( "facebookOAuthLogin() - fbProvider.getCurrentUserProfile() succeeded" );
Config.config.user_email = profileData.email;
Config.config.user_name = profileData.name;
this.fbProvider.getUserPicture().then(
( pictureData : { data:{ is_silhouette: boolean, url: string, width: number, height: number } } ) =>
{
this.d( "facebookOAuthLogin() - fbProvider.getUserPicture() succeeded" );
//this.facebook_picture_url = pictureData.data.url;
//this.facebook_picture_is_silhouette = pictureData.data.is_silhouette;
if( pictureData.data.is_silhouette || pictureData.data.url == null )
{
this.d( "facebookOAuthLogin() - pictureData.data.url == null" );
Config.config.jpegBase64Data = null;
this.afterFacebookLogin();
}
else
{
this.d( "facebookOAuthLogin() - pictureData.data.url != null" );
ImageStore.readToData( pictureData.data.url ).then(
dataBase64 =>
{
this.d( "facebookOAuthLogin() - facebook picture read successfully" );

Donc, la question est de savoir Si je veux attraper toutes les erreurs dans tous les gestionnaires dans la façon la plus simple (laissons le type des exceptions - suppose que j'ai juste besoin de vous connecter l'erreur et de faire rapport. Toute erreur - Sans les manipuler séparément.)

De ce que je comprends de mettre un try{}catch(err) le code ne serait pas rattraper les erreurs levée à partir de la Promesse de gestionnaire.

Avec le code ci-dessus - j'ai besoin d'ajouter un try/catch dans toute Promesse de gestionnaire, ou puis-je utiliser l'externe (d'abord) la promesse de l' .catch() la méthode?

InformationsquelleAutor rubmz | 2016-11-01