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

LaAWS SDK for JavaScript versión 3 (v3) es una reescritura de la versión 2 con algunas funciones nuevas y excelentes, incluida la arquitectura modular. Para obtener más información, consulte la Guía para desarrolladores de la versiónAWS SDK for JavaScript 3.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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, el JavaScript clavethisse refiere al subyacenteAWS.Responseobjeto 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ó.