Uso de una función de devolución de llamada anónima - AWS SDK for JavaScript

Anunciamos el próximo fin del soporte para AWS SDK for JavaScript v2. Se recomienda que migre a AWS SDK for JavaScript v3. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Uso de una función de devolución de llamada anónima

Cada método de objeto de servicio que crea un objeto AWS.Request puede aceptar una función de devolución de llamada anónima como último parámetro. La firma de dicha función de devolución de llamada es:

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

Esta función de devolución de llamada se ejecuta cuando se devuelve una respuesta correcta o datos de error. Si la llamada al método se realiza correctamente, el contenido de la respuesta está disponible en la función de devolución de llamada en el parámetro data. Si la llamada no se realiza correctamente, se proporcionan los detalles sobre el error en el parámetro error.

Normalmente el código contenido en la función de devolución de llamada realiza una prueba para detectar errores. Si el resultado de la prueba devuelve errores, los procesará. Si no se devuelve ningún error, el código recuperará los datos de la respuesta en el parámetro data. La forma básica de la función de devolución de llamada es similar a la de este ejemplo.

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

En el ejemplo anterior, los detalles del error o de los datos devueltos se registran en la consola. A continuación se muestra un ejemplo que muestra una función de devolución de llamada transferida como parte de una llamada a un método en un objeto de servicio.

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

Acceso a los objetos de solicitud y respuesta

Dentro de la función de devolución de llamada, la palabra clave de JavaScript this se refiere al objeto AWS.Response subyacente para la mayoría de los servicios. En el ejemplo siguiente, la propiedad httpResponse de un objeto AWS.Response se utiliza dentro de una función de devolución de llamada para registrar los datos de respuesta sin procesar y los encabezados para ayudar con la depuración.

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

Además, debido a que el objeto AWS.Response tiene una propiedad Request que contiene la AWS.Request que se ha enviado a través de la llamada al método original, también puede obtener acceso a los detalles de la solicitud que se realizó.