Usar promessas do JavaScript - AWS SDK para JavaScript

O Guia de referência da API do AWS SDK para JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK para JavaScript versão 3 (V3).

Usar promessas do JavaScript

Use o método do AWS SDK para JavaScript v3 (ListTablesCommand) do cliente de serviço para fazer a chamada de serviço e gerenciar o fluxo assíncrono, em vez de usar retornos de chamada. O exemplo a seguir mostra como obter os nomes de tabelas do Amazon DynamoDB em 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); });

Coordenar várias promessas

Em algumas situações, seu código deve fazer várias chamadas assíncronas que exigem ação somente quando todos tiverem sido retornados com êxito. Se você gerenciar as chamadas individuais do método assíncrono com promessas, pode criar uma promessa adicional que usa o método all.

Esse método cumpre essa promessa generalista se, e quando, a série de promessas que você passar para o método forem cumpridas. A função de retorno de chamada é transmitida a um array dos valores das promessas passadas para o método all.

No exemplo a seguir, uma função do AWS Lambda deve fazer três chamadas assíncronas para Amazon DynamoDB, mas só pode ser concluída após as promessas para cada chamada serem cumpridas.

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;

Suporte de navegador e Node.js para promessas

O suporte para promessas de JavaScript nativo (ECMAScript 2015) depende do mecanismo JavaScript e da versão em que seu código é executado. Para ajudar a determinar o suporte para promessas de JavaScript em cada ambiente onde seu código precisa ser executado, consulte a Tabela de compatibilidade de ECMAScript no GitHub.