async および await を使用します。 - Amazon CloudFront

async および await を使用します。

CloudFront Functions JavaScript ランタイム関数 2.0 には、Promise オブジェクトを処理するための async および await 構文が用意されています。Promise は遅延した結果を表し、async とマークされた関数のキーワード await を使用してアクセスできます。さまざまな新しい WebCrypto 関数が Promise を使用しています。

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 チェーンメソッドを使用して Promise を表示する方法を示しています。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; }