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 )를 사용하여 콜백을 사용하는 대신 서비스 호출을 수행하고 비동기 흐름을 관리합니다. 다음 예는 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를 사용하지 않고 개별 비동기 메서드 호출을 관리하는 경우 all 메서드를 사용하는 추가 promise를 생성할 수 있습니다.

이 메서드는 메서드에 전달한 promise 배열이 이행되는 경우 umbrella promise를 이행합니다. 콜백 함수는 all 메서드에 전달되는 promises의 값 배열로 전달됩니다.

다음 예제에서는 AWS Lambda 함수가 Amazon DynamoDB에 대해 세 개의 비동기 호출을 수행해야 하지만 각 호출에 대한 약속이 이행된 후에만 를 완료할 수 있습니다.

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 약속(ECMAScript 2015)에 대한 지원은 코드가 실행되는 엔진 및 버전에 따라 달라집니다 JavaScript. 코드를 실행해야 하는 각 환경에서 JavaScript 약속에 대한 지원을 결정하는 데 도움이 되도록 의 ECMAScript 호환성 표를 참조하세요 GitHub.