Anunciamos
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.