Nous avons annoncé
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation d'une fonction de rappel anonyme
Chaque méthode d'objet de service qui crée un objet AWS.Request
peut accepter une fonction de rappel anonyme en tant que dernier paramètre. La signature de cette fonction de rappel est :
function(error, data) { // callback handling code }
Cette fonction de rappel est exécutée lorsqu'une réponse positive ou des données d'erreur sont renvoyées. Si l'appel de méthode aboutit, le contenu de la réponse est disponible pour la fonction de rappel dans le paramètre data
. Si l'appel n'aboutit pas, les détails relatifs à l'échec sont disponibles dans le paramètre error
.
En général, le code à l'intérieur de la fonction de rappel effectue un test afin d'identifier une éventuelle erreur. Si une erreur est renvoyée, elle est traitée par le code. Si aucune erreur n'est renvoyée, le code récupère les données dans la réponse du paramètre data
. La forme de base de la fonction de rappel ressemble à cet exemple.
function(error, data) { if (error) { // error handling code console.log(error); } else { // data handling code console.log(data); } }
Dans l'exemple précédent, les détails de l'erreur ou ceux des données renvoyées sont consignés dans la console. Voici un exemple illustrant une fonction de rappel transmise dans le cadre de l'appel d'une méthode sur un objet de service.
new AWS.EC2({apiVersion: '2014-10-01'}).describeInstances(function(error, data) { if (error) { console.log(error); // an error occurred } else { console.log(data); // request succeeded } });
Accès aux objets de demande et de réponse
Dans la fonction de rappel, le JavaScript mot-clé this
fait référence à l'AWS.Response
objet sous-jacent pour la plupart des services. Dans l'exemple suivant, la propriété httpResponse
d'un objet AWS.Response
est utilisée dans une fonction de rappel afin de consigner les données de réponse brutes et les en-têtes dans le but de faciliter le débogage.
new AWS.EC2({apiVersion: '2014-10-01'}).describeInstances(function(error, data) { if (error) { console.log(error); // an error occurred // Using this keyword to access AWS.Response object and properties console.log("Response data and headers: " + JSON.stringify(this.httpResponse)); } else { console.log(data); // request succeeded } });
En outre, étant donné que l'objet AWS.Response
possède une propriété Request
qui contient l'objet AWS.Request
qui a été envoyé par l'appel de méthode d'origine, vous pouvez également accéder aux détails de la demande.