适用于 JavaScript 的 Amazon SDKV3 API 参考指南详细描述了 适用于 JavaScript 的 Amazon SDK 版本 3 (V3) 的所有 API 操作。
使用 JavaScript Promise
使用服务客户端的 适用于 JavaScript 的 Amazon SDK v3 方法 (ListTablesCommand) 进行服务调用和管理异步流,而不是使用回调。以下示例演示如何获取 us-west-2 中您的 Amazon DynamoDB 表的名称。
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); });
协调多个 Promise
在某些情况下,您的代码必须进行多个异步调用,这些调用只有在它们都成功返回时才需要执行操作。如果您使用 promise 管理这些单独的异步方法调用,则可以创建使用 all 方法的额外 promise。
此方法只有在执行了您传递到方法中的 promise 数组时,才会执行此伞形 promise。回调函数将 promise 的值数组传递到 all 方法。
在以下示例中,Amazon Lambda 函数必须对 Amazon DynamoDB 进行三个异步调用,但只有在执行了各个调用的 promise 时才能完成。
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;
Promise 的浏览器和 Node.js 支持
对原生 JavaScript promise (ECMAScript 2015) 的支持取决于执行代码的 JavaScript 引擎和版本。为帮助确定您要运行代码的各个环境中的 JavaScript promise 支持情况,请参阅 GitHub 上的 ECMAScript 兼容性表