Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Mengakses Nilai Terselesai Janji Berantai dalam JavaScript?
promesas terdapat di mana-mana dalam JavaScript moden, membenarkan operasi tak segerak. Walaupun penggunaannya didokumentasikan dengan baik, aspek tertentu boleh mengelirukan. Satu soalan biasa ialah cara untuk mengakses nilai janji, terutamanya apabila janji dirantai melalui kaedah .then().
Dalam contoh yang disediakan, promiseB dicipta daripada promiseA. Dokumentasi menyatakan bahawa promiseB akan memegang nilai yang sama dengan hasil 1 selepas promiseA diselesaikan. Walau bagaimanapun, cara untuk mengakses nilai ini tidak jelas dengan serta-merta.
Mengakses Nilai Janji
Kunci untuk memahami perkara ini ialah kaedah .then() mengembalikan janji baharu yang diselesaikan selepas janji asal (dalam kes ini, promiseA) diselesaikan. Nilai janji baharu ini ditentukan oleh apa sahaja yang dikembalikan daripada fungsi panggil balik kejayaan.
Dalam contoh yang disediakan, panggilan balik kejayaan mengembalikan hasil 1, yang bermaksud promiseB akan menyelesaikan dengan nilai ini. Untuk mengakses nilai ini, anda akan menggunakan promiseB.then(function(result) {...}) dengan cara yang sama anda akan mengakses promiseA.
Async/Await Syntax
ECMAScript 2016 (ES7) memperkenalkan sintaks async/waiit, yang menyediakan alternatif kepada kaedah .then() untuk bekerja dengan janji. Menggunakan async/wait, anda boleh mengakses terus nilai janji dengan menggunakan kata kunci await.
Contohnya, bukannya menulis:
promiseB.then(function(result) { // Use the result });
Anda boleh menulis:
async function doSomething() { const result = await promiseB; // Use the result }
Walau bagaimanapun, ambil perhatian bahawa async/wait hanya boleh digunakan dalam fungsi async.
Atas ialah kandungan terperinci Bagaimanakah Saya Mengakses Nilai Terselesai Janji Berantai dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!