async 및 await 사용
CloudFront Functions JavaScript 런타임 함수 2.0은 Promise
객체를 처리하기 위한 async
및 await
구문을 제공합니다. 프로미스는 async
로 표시된 함수의 await
키워드를 통해 액세스할 수 있는 지연된 결과를 나타냅니다. 다양한 새 WebCrypto 함수가 프로미스를 사용합니다.
Promise
객체에 대한 자세한 내용은 Promise
참고
다음 코드 샘플에는 JavaScript 런타임 2.0을 사용해야 합니다.
async function answer() { return 42; } // Note: async, await can be used only inside an async function. async function handler(event) { // var answer_value = answer(); // returns Promise, not a 42 value let answer_value = await answer(); // resolves Promise, 42 console.log("Answer"+answer_value); event.request.headers['answer'] = { value : ""+answer_value }; return event.request; }
다음 예제 JavaScript 코드는 then
체인 메서드로 프로미스를 보는 방법을 보여줍니다. catch
를 사용하여 오류를 확인할 수 있습니다.
async function answer() { return 42; } async function squared_answer() { return answer().then(value => value * value) } // note async, await can be used only inside async function async function handler(event) { // var answer_value = answer(); // returns Promise, not a 42 value let answer_value = await squared_answer(); // resolves Promise, 42 console.log("Answer"+answer_value); event.request.headers['answer'] = { value : ""+answer_value }; return event.request; }