Rumah >hujung hadapan web >tutorial js >Adakah Fungsi JavaScript Async Sentiasa Mengembalikan Janji?
Fungsi Async dan Pengembalian Janji Tersirat
Dalam JavaScript, fungsi async yang ditandakan oleh kata kunci async secara tersirat mengembalikan janji. Ini berlaku walaupun anda secara eksplisit mengembalikan nilai bukan janji atau tidak memulangkan apa-apa langsung.
Pembungkus Janji Tersirat
Jika anda tidak memulangkan secara eksplisit janji, nilai yang anda pulangkan akan secara automatik dibalut dengan janji.
async function increment(num) { return num + 1; } // Logs: 4 increment(3).then(num => console.log(num));
Ini bermakna walaupun pulangan nilai ialah nombor, ia akan ditukar kepada janji untuk tujuan pemprosesan tak segerak.
Janji Terbuka
Janji buka bungkus automatik, bermakna jika anda kembali janji untuk nilai dari dalam fungsi async, anda akan menerima janji untuk nilai (bukan janji untuk janji untuk value).
async function increment(num) { return defer(() => num + 1); } // Logs: 4 increment(3).then(num => console.log(num));
Gelagat Tidak Konsisten
Gelagat fungsi async sememangnya boleh kelihatan tidak konsisten dengan pernyataan pulangan tradisional, kerana ia berbeza apabila mengembalikan nilai bukan janji secara eksplisit . Ini kerana fungsi async menggunakan jenis fungsi khas yang dipanggil penjana, yang tidak selalu mengembalikan nilai yang sama seperti pernyataan pulangan.
Atas ialah kandungan terperinci Adakah Fungsi JavaScript Async Sentiasa Mengembalikan Janji?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!