Rumah >hujung hadapan web >tutorial js >Adakah Fungsi Async dalam JavaScript Sentiasa Mengembalikan Janji?
Janji Tersirat dalam Fungsi Async
Dalam JavaScript, fungsi async ialah fungsi yang boleh menunggu janji tidak segerak untuk melengkapkan dan mengembalikan nilainya. Walau bagaimanapun, salah tanggapan yang lazim ialah fungsi async secara tersirat mengembalikan janji untuk nilai yang dipulangkan.
Memahami Nilai Pulangan
Walaupun nampaknya fungsi async kembali secara tersirat janji, ini tidak sepenuhnya tepat. Nilai pulangan bagi fungsi async boleh menjadi salah satu daripada dua perkara:
Contoh dengan Nilai Bukan Janji:
async function increment(num) { return num + 1; } increment(3).then(num => console.log(num)); // Logs: 4
Di sini, kami mengembalikan nombor daripada fungsi async. Walau bagaimanapun, output diperoleh melalui .then(), menunjukkan bahawa ia adalah janji yang telah diselesaikan kepada nilai 4.
Janji Eksplisit:
Jika kita secara eksplisit mengembalikan janji daripada fungsi async, kami menerima janji untuk nilai itu, bukan janji untuk a janji.
async function increment(num) { return Promise.resolve(num + 1); } increment(3).then(num => console.log(num)); // Logs: 4
Kes Luar Biasa:
Kesimpulan
Fungsi Async dalam JavaScript secara tersirat membalut nilai pulangan bukan janji dalam janji. Walau bagaimanapun, jika nilai pulangan sudah menjadi janji, ia tidak disentuh. Tingkah laku ini berbeza daripada pernyataan pulangan tradisional tetapi konsisten dengan prinsip asas penjana dalam ES6.
Atas ialah kandungan terperinci Adakah Fungsi Async dalam JavaScript Sentiasa Mengembalikan Janji?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!