Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Mengakses Nilai Terselesai Rantai Janji dalam JavaScript?

Bagaimanakah Saya Mengakses Nilai Terselesai Rantai Janji dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2025-01-04 13:40:391011semak imbas

How Do I Access the Resolved Value of a Promise Chain in JavaScript?

Memahami Janji Rantaian dan Akses Nilai

Apabila bekerja dengan janji dalam rangka kerja JavaScript seperti Angular, anda mungkin menjumpai fungsi tak segerak yang mengembalikan janji, seperti contoh dari $q Angular dokumentasi:

promiseB = promiseA.then(function(result) {
  return result + 1;
});

Walaupun dokumentasi menyatakan bahawa "promiseB akan diselesaikan serta-merta selepas promiseA diselesaikan... dengan hasil promiseA ditambah 1," ia mungkin tidak jelas cara ini berfungsi.

Kunci untuk memahami perkara ini ialah mengenali bahawa fungsi pada masa itu dalam promiseA mengembalikan janji baharu, promiseB. Janji baharu ini diselesaikan serta-merta selepas promiseA diselesaikan dan nilainya ditentukan oleh nilai pulangan fungsi kejayaan dalam promiseA.

Dalam kes ini, fungsi kejayaan mengembalikan "hasil 1", jadi promiseB akan menyelesaikan dengan nilai hasil yang ditambah sebanyak 1. Oleh itu, untuk mengakses nilai ini, anda boleh melakukan perkara berikut:

promiseB.then(function(result) {
    // Here you can use the result of promiseB
});

Dalam versi JavaScript moden (ES7 dan ke atas), anda boleh gunakan sintaks async/wait untuk mencapai kefungsian yang sama:

async function doSomething() {
    let result = await functionThatReturnsPromiseA();
    return result + 1;
}

Dalam kes ini, await membuka balutan hasil daripada promiseA dan memberikannya terus kepada pembolehubah hasil, membolehkan anda bekerja dengan nilai tanpa mengakses objek janji.

Perhatikan bahawa async/wait hanya boleh digunakan dalam fungsi async, yang sentiasa mengembalikan janji. Oleh itu, jika anda ingin mengakses nilai pulangan fungsi async, anda mesti menggunakan await dalam konteks async yang lain.

Atas ialah kandungan terperinci Bagaimanakah Saya Mengakses Nilai Terselesai Rantai Janji dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn