Usar uma função de retorno de chamada anônimo - AWS SDK for JavaScript

Anunciamos o próximo fim do suporte para o AWS SDK for JavaScript v2. Recomendamos migrar para o AWS SDK for JavaScript v3. Para saber as datas e receber detalhes adicionais e informações sobre como migrar, consulte o anúncio vinculado.

Usar uma função de retorno de chamada anônimo

Cada método de objeto de serviço que cria um objeto AWS.Request pode aceitar uma função de retorno de chamada anônimo como último parâmetro. A assinatura dessa função de retorno de chamada é:

function(error, data) { // callback handling code }

Essa função de retorno de chamada é executada ao se retornar uma resposta bem-sucedida ou dados de erro. Se a chamada do método for bem-sucedida, o conteúdo da resposta estará disponível para a função de retorno de chamada no parâmetro data. Se a chamada não for bem-sucedida, os detalhes sobre a falha são fornecidos no parâmetro error.

Normalmente o código dentro da função de retorno de chamada testa um erro, que ele processa, caso seja retornado um erro. Se o erro não for retornado, o código recuperará os dados na resposta pelo parâmetro data. O formato básico da função de retorno de chamada é semelhante a este exemplo.

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

No exemplo anterior, os detalhes do erro ou dos dados retornados são registrados no console. Veja a seguir um exemplo que mostra uma função de retorno de chamada passada como parte da chamada de um método em um objeto de serviço.

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 } });

Acessar os objetos de solicitação e resposta

Dentro da função de retorno de chamada, a palavra-chave this do JavaScript refere-se ao objeto AWS.Response subjacente à maioria dos serviços. No exemplo a seguir, a propriedade httpResponse de um objeto AWS.Response é usada dentro de uma função de retorno de chamada para registrar os dados de resposta brutos e os cabeçalhos para ajudar com a depuração.

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 } });

Além disso, como o objeto AWS.Response tem uma propriedade Request que contém o AWS.Request enviado pela chamada do método original, você também pode acessar os detalhes da solicitação que foi feita.