JavaScript プロミスを使用する - AWS SDK for JavaScript

AWS SDK for JavaScript V3 APIリファレンスガイドでは、バージョン 3 (V3) のすべてのAPIオペレーション AWS SDK for JavaScript について詳しく説明します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

JavaScript プロミスを使用する

コールバックを使用する代わりに、サービスクライアントの AWS SDK for JavaScript v3 ListTablesCommand メソッド ( ) を使用してサービス呼び出しを行い、非同期フローを管理します。次の例は、「Amazon DynamoDB」(Amazon DynamoDB)表の名前を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); });

複数の約束を調整する

状況によって、コードは複数の非同期呼び出しを行う必要があります。すべてが正常に返されたときのみ、これらの呼び出しに対する操作が必要です。これらの個々の非同期メソッド呼び出しを promises で管理する場合、all メソッドを使用する追加の promise を作成することができます。

このメソッドは、ユーザーがメソッドに渡す promise の配列が満たされた場合に、この包括的な promise を満たします。コールバック関数には、all メソッドに渡された promises の値の配列が渡されます。

次の例では、 AWS Lambda 関数は Amazon DynamoDB に 3 つの非同期呼び出しを行う必要がありますが、各呼び出しの約束が満たされた後にのみ完了できます。

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;

ブラウザおよび Node.js による Promises のサポート

ネイティブ JavaScript プロミス (ECMAScript 2015) のサポートは、 JavaScriptコードが実行されるエンジンとバージョンによって異なります。コードを実行する必要がある各環境での JavaScript プロミスのサポートを判断するには、「」のECMAScript「互換性表」を参照してください GitHub。