곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다
익명 콜백 함수 사용
AWS.Request
객체를 생성하는 각 서비스 객체 메서드는 익명 콜백 함수를 마지막 파라미터로 수락할 수 있습니다. 이 콜백 함수의 서명은 다음과 같습니다.
function(error, data) { // callback handling code }
이 콜백 함수는 성공적인 응답 또는 오류 데이터 반환 시 실행됩니다. 메서드 호출에 성공하면 data
파라미터에서 응답 내용을 콜백 함수에 사용할 수 있습니다. 호출에 실패하면 error
파라미터에 자세한 실패 정보가 제공됩니다.
일반적으로 콜백 함수 내 코드는 오류가 있는지 테스트하는데, 오류가 반환되면 처리합니다. 오류가 반환되지 않으면 코드는 응답의 data
파라미터에서 데이터를 검색합니다. 콜백 함수의 기본 형식은 다음 예제와 같습니다.
function(error, data) { if (error) { // error handling code console.log(error); } else { // data handling code console.log(data); } }
이전 예제에서는 오류 또는 반환되는 데이터에 대한 자세한 내용이 콘솔에 로깅됩니다. 다음은 서비스 객체에 대한 메서드 호출의 일부로 전달되는 콜백 함수를 보여주는 예제입니다.
new AWS.EC2({apiVersion: '2014-10-01'}).describeInstances(function(error, data) { if (error) { console.log(error); // an error occurred } else { console.log(data); // request succeeded } });
요청 및 응답 객체에 액세스
콜백 함수 내에서 JavaScript 키워드 this
는 대부분 서비스의 경우 기본 AWS.Response
객체를 가리킵니다. 다음 예제에서는 디버깅을 지원하기 위해 AWS.Response
객체의 httpResponse
속성이 콜백 함수 내에서 사용되어 원시 응답 데이터 및 헤더를 로깅합니다.
new AWS.EC2({apiVersion: '2014-10-01'}).describeInstances(function(error, data) { if (error) { console.log(error); // an error occurred // Using this keyword to access AWS.Response object and properties console.log("Response data and headers: " + JSON.stringify(this.httpResponse)); } else { console.log(data); // request succeeded } });
또한 AWS.Response
객체에는 원래 메서드 호출에서 보낸 AWS.Request
가 포함된 Request
속성이 있으므로 수행된 요청에 대한 세부 정보에 액세스할 수도 있습니다.