Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utiliser async and await
CloudFront Fonctions fournies par JavaScript Runtime Functions 2.0 async
et await
syntaxe permettant de gérer Promise
les objets. Les promesses représentent des résultats différés accessibles via le mot clé await
dans les fonctions marquées comme async
. Diverses nouvelles WebCrypto fonctions utilisent Promises.
Pour plus d’informations sur les objets Promise
, consultez Promise
Note
Vous devez utiliser JavaScript Runtime 2.0 pour les exemples de code suivants.
await
ne peut être utilisé qu'à l'intérieur async
des fonctions. async
les arguments et les fermetures ne sont pas pris en charge.
async function answer() { return 42; } // Note: async, await can be used only inside an async function. async arguments and closures are not supported. 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; }
L'exemple de JavaScript code suivant montre comment afficher les promesses avec la méthode de la then
chaîne. Vous pouvez utiliser catch
pour visualiser les erreurs.
async function answer() { return 42; } async function squared_answer() { return answer().then(value => value * value) } // Note: async, await can be used only inside an async function. async arguments and closures are not supported. 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; }