Fungsi dan Janji Async
Apabila bekerja dengan operasi tak segerak, adalah penting untuk memahami cara fungsi dan janji async berinteraksi.
Fungsi Async Sentiasa Kembali Janji
Tidak seperti fungsi biasa, fungsi async sentiasa mengembalikan janji, menunjukkan selesainya operasi tak segerak mereka. Ini menjadikan pengendalian operasi tak segerak dalam kod jujukan lebih mudah.
Contoh:
async function latestTime() { const bl = await web3.eth.getBlock('latest'); return bl.timestamp; }
Mengembalikan Nilai Primitif lwn. Janji
Walaupun fungsi tersebut mengembalikan nilai primitif (bl.timestamp), the fungsi latestTime() itu sendiri mengembalikan janji. Ini boleh menyebabkan kekeliruan apabila cuba mengakses nilai pulangan.
Menggunakan Janji
Untuk mengakses nilai janji yang telah diselesaikan, anda perlu menggunakan kemudian( ) kaedah:
latestTime().then((time) => { console.log(time); });
Sebagai alternatif, dalam persekitaran JavaScript moden, anda boleh menggunakan peringkat atas tunggu:
const time = await latestTime(); console.log(time);
Pengendalian Janji Eksplisit
Untuk kejelasan, berikut ialah perwakilan yang lebih jelas tentang cara fungsi async bertindak dari segi panggilan balik janji:
function latestTime() { return new Promise((resolve, reject) => { web3.eth.getBlock('latest').then((bl) => { resolve(bl.timestamp); }) }); }
Atas ialah kandungan terperinci Bagaimanakah Fungsi dan Janji Async Berfungsi Bersama dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!