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
Mary-Kate Olsenasal
2024-12-25 09:57:14740semak imbas

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;
});

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
});

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;
}

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!

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