

La AWS SDK pour JavaScript v2 est arrivée end-of-support. Nous vous recommandons de migrer vers la [AWS SDK pour JavaScript version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter cette [annonce](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

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 de l'objet de réponse
<a name="the-response-object"></a>

Une fois qu'une méthode d'objet de service a été appelée, elle renvoie un objet `AWS.Response` en le transmettant à votre fonction de rappel. Vous accédez au contenu de la réponse via les propriétés de l'objet `AWS.Response`. Pour accéder au contenu de la réponse, vous utilisez deux propriétés de l'objet `AWS.Response` :
+ propriété `data`
+ propriété `error`

Lorsque vous utilisez le mécanisme de rappel standard, ces deux propriétés sont fournies en tant que paramètres sur la fonction de rappel anonyme, comme illustré dans l'exemple suivant.

```
function(error, data) {
    if (error) {
        // error handling code
        console.log(error);
    } else {
        // data handling code
        console.log(data);
    }
}
```

## Accès aux données renvoyées dans l'objet de réponse
<a name="response-data-property"></a>

La propriété `data` de l'objet `AWS.Response` contient les données sérialisées renvoyées par la demande de service. Lorsque la demande aboutit, la propriété `data` contient un objet contenant un mappage pour les données renvoyées. La propriété `data` peut être null si une erreur se produit.

Voici un exemple d'appel de la `getItem` méthode d'une table DynamoDB pour récupérer le nom d'un fichier image à utiliser dans le cadre d'un jeu.

```
// Initialize parameters needed to call DynamoDB
var slotParams = {
    Key : {'slotPosition' : {N: '0'}},
    TableName : 'slotWheels',
    ProjectionExpression: 'imageFile'
};

// prepare request object for call to DynamoDB
var request = new AWS.DynamoDB({region: 'us-west-2', apiVersion: '2012-08-10'}).getItem(slotParams);
// log the name of the image file to load in the slot machine
request.on('success', function(response) {
    // logs a value like "cherries.jpg" returned from DynamoDB
    console.log(response.data.Item.imageFile.S);
});
// submit DynamoDB request
request.send();
```

Dans cet exemple, la table DynamoDB est une recherche d'images qui montrent les résultats d'un pull de machine à sous, tels que spécifiés par les paramètres de. `slotParams`

En cas d'appel réussi de la `getItem` méthode, la `data` propriété de l'`AWS.Response`objet contient un `Item` objet renvoyé par DynamoDB. L'accès aux données retournées dépend du paramètre `ProjectionExpression` de la demande. Dans le cas présent, il s'agit du membre `imageFile` de l'objet `Item`. Étant donné que le membre `imageFile` contient une valeur de chaîne, vous accédez au nom de fichier de l'image via la valeur du membre enfant `S` de `imageFile`.

## Pagination des données retournées
<a name="response-paged-data"></a>

Parfois, le contenu de la propriété `data` retournée par une demande de service s'étend sur plusieurs pages. Vous pouvez accéder à la page de données suivante en appelant la méthode `response.nextPage`. Cette méthode envoie une nouvelle demande. La réponse de la demande peut être capturée avec un rappel ou avec des écouteurs de réussite et d'erreur.

Vous pouvez vérifier si des pages de données supplémentaires sont disponibles pour les données renvoyées par une demande de service en appelant la méthode `response.hasNextPage`. Cette méthode renvoie une valeur booléenne pour indiquer si l'appel de la méthode `response.nextPage` renvoie des données supplémentaires.

```
s3.listObjects({Bucket: 'bucket'}).on('success', function handlePage(response) {
    // do something with response.data
    if (response.hasNextPage()) {
        response.nextPage().on('success', handlePage).send();
    }
}).send();
```

## Accès aux informations sur les erreurs à partir d'un objet de réponse
<a name="response-error-property"></a>

La propriété `error` de l'objet `AWS.Response` contient les données d'erreur disponibles en cas d'erreur de service ou de transfert. Voici le format de l'erreur renvoyée :

```
{ code: 'SHORT_UNIQUE_ERROR_CODE', message: 'a descriptive error message' }
```

En cas d'erreur, la valeur de la propriété `data` est `null`. Si vous gérez des événements pouvant être dans un état d'échec, vérifiez toujours si la propriété `error` a été définie avant d'essayer d'accéder à la valeur de la propriété `data`.

## Accès à l'objet de demande d'origine
<a name="response-request-property"></a>

La propriété `request` fournit un accès à l'objet `AWS.Request` d'origine. Il peut s'avérer utile pour faire référence à l'objet `AWS.Request` d'origine en vue d'accéder aux paramètres d'origine qu'il a envoyés. Dans l'exemple suivant, la propriété `request` est utilisée pour accéder au paramètre `Key` de la demande de service d'origine.

```
s3.getObject({Bucket: 'bucket', Key: 'key'}).on('success', function(response) {
   console.log("Key was", response.request.params.Key);
}).send();
```