Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan async dan await
CloudFront Fungsi JavaScript runtime function 2.0 menyediakan async
dan await
sintaks untuk menangani Promise
objek. Janji mewakili hasil tertunda yang dapat diakses melalui await
kata kunci dalam fungsi yang ditandai sebagaiasync
. Berbagai WebCrypto fungsi baru menggunakan Promises.
Untuk informasi selengkapnya tentang Promise
objek, lihat Janji
catatan
Anda harus menggunakan JavaScript runtime 2.0 untuk contoh kode berikut.
await
hanya dapat digunakan di dalam async
fungsi. async
argumen dan penutupan tidak didukung.
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; }
JavaScript Kode contoh berikut menunjukkan cara melihat janji dengan metode then
rantai. Anda dapat menggunakan catch
untuk melihat kesalahan.
Awas
Menggunakan kombinator janji (misalnya,Promise.all
,Promise.any
, dan metode rantai janji (misalnya, then
dancatch
) dapat memerlukan penggunaan memori fungsi tinggi. Jika fungsi Anda melebihi kuota memori fungsi maksimum, itu akan gagal dijalankan. Untuk menghindari kesalahan ini, kami sarankan Anda menggunakan await
sintaks alih-alih promise
metode.
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; }