Rumah > hujung hadapan web > tutorial js > Bagaimanakah Janji, Objek dalam JavaScript, Memegang Nilai Primitif?

Bagaimanakah Janji, Objek dalam JavaScript, Memegang Nilai Primitif?

Mary-Kate Olsen
Lepaskan: 2024-12-25 09:57:14
asal
736 orang telah melayarinya

How Do Promises, Objects in JavaScript, Hold Primitive Values?

Mengakses Nilai Janji

Janji biasanya digunakan untuk operasi tak segerak dalam JavaScript. Salah satu kaedah utama untuk berinteraksi dengan janji ialah kaedah .then(). Kaedah ini membolehkan kami merantai berbilang janji dan mengakses nilai janji sebelumnya dalam janji berikutnya.

Pertimbangkan contoh Sudut berikut:

promiseB = promiseA.then(function(result) {
  return result + 1;
});
Salin selepas log masuk

Contoh ini mentakrifkan promiseB sebagai janji baharu yang diselesaikan serta-merta selepas promiseA diselesaikan. Menurut dokumentasi Angular, "nilainya akan menjadi hasil promiseA yang dinaikkan sebanyak 1."

Timbul persoalan: bagaimanakah objek janji, yang jenis Objek, memegang nilai primitif seperti nombor?

Jawapannya terletak pada semantik kaedah .then(). Fungsi panggil balik kejayaan yang diberikan kepada .then() mengembalikan nilai baharu yang menjadi nilai janji baharu. Dalam kes ini, fungsi panggil balik kejayaan mengembalikan hasil 1, yang menambah nilai hasil dan mengembalikannya sebagai nilai promiseB.

Untuk mengakses nilai promiseB, kita boleh merantai kaedah .then() yang lain dan menyediakan fungsi panggil balik kejayaan:

promiseB.then(function(result) {
  // Use the result of promiseB here
});
Salin selepas log masuk

Dalam panggilan balik ini, kami akan mempunyai akses kepada nilai hasil, iaitu nilai tambahan daripada sebelumnya promise.

ES7 (2016) memperkenalkan sintaks async/wait, menawarkan cara alternatif untuk mengendalikan janji. Menggunakan await, kita boleh membuka nilai janji secara langsung, menghapuskan keperluan untuk merantai pelbagai kaedah .then(). Contohnya:

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

Dalam contoh ini, kata kunci await digunakan dalam fungsi async. Kata kunci await menjeda pelaksanaan fungsi sehingga functionThatReturnsPromiseA() selesai. Setelah janji diselesaikan, nilai janji diberikan kepada pembolehubah hasil dan fungsi meneruskan pelaksanaan.

Atas ialah kandungan terperinci Bagaimanakah Janji, Objek dalam JavaScript, Memegang Nilai Primitif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan