

 La [Guía de referencia de la API de AWS SDK for JavaScript V3](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) describe en detalle todas las operaciones de la API para la versión 3 (V3) de AWS SDK for JavaScript. 

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.

# Usa las promesas JavaScript
<a name="using-promises"></a>

Utilice el método AWS SDK para JavaScript v3 del cliente de servicio (`ListTablesCommand`) para realizar la llamada de servicio y gestionar el flujo asíncrono en lugar de utilizar devoluciones de llamada. El siguiente ejemplo muestra cómo obtener los nombres de sus tablas de Amazon DynamoDB en `us-west-2`.

```
import {
  DynamoDBClient,
  ListTablesCommand
} from "@aws-sdk/client-dynamodb";
const dbClient = new DynamoDBClient({ region: 'us-west-2' });

dbClient.listtables(new ListTablesCommand({}))
  .then(response => {
    console.log(response.TableNames.join('\n'));
  })
  .catch((error) => {
    console.error(error);
  });
```

## Coordinación de varias promesas
<a name="multiple-promises"></a>

En algunas situaciones, el código debe realizar varias llamadas asíncronas que requieren acción solo cuando todas han tenido una devolución correcta. Si administra estas llamadas a métodos asíncronas individuales con promesas, puede crear una promesa adicional que utilice el método `all`. 

Este método cumple esta promesa paraguas en el momento en que transfiere la matriz de promesas al método siempre y cuando dicha matriz de promesas se cumpla. Se transfiere a la función de devolución de llamada una matriz de los valores de las promesas que se transfieren al método `all`.

En el ejemplo siguiente, una AWS Lambda función debe realizar tres llamadas asíncronas a Amazon DynamoDB, pero solo puede completarlas después de cumplir las promesas de cada llamada.

```
const values = await Promise.all([firstPromise, secondPromise, thirdPromise]);

console.log("Value 0 is " + values[0].toString);
console.log("Value 1 is " + values[1].toString);
console.log("Value 2 is " + values[2].toString);

return values;
```

## Compatibilidad del navegador y Node.js con las promesas
<a name="browser-node-promise-support"></a>

Support for native JavaScript promise (ECMAScript 2015) depende del JavaScript motor y la versión en la que se ejecute el código. Para ayudarte a determinar la compatibilidad con JavaScript las promesas en cada entorno en el que deba ejecutarse el código, consulta la [tabla de ECMAScript compatibilidad que aparece](https://compat-table.github.io/compat-table/es6/) en GitHub.