Rumah >masalah biasa >Apakah objek janji?

Apakah objek janji?

小老鼠
小老鼠asal
2023-11-01 10:05:022482semak imbas

Keadaan objek yang dijanjikan ialah: 1. belum selesai: keadaan awal, bukan keadaan berjaya atau gagal 2. dipenuhi: bermakna operasi berjaya diselesaikan; 3. ditolak: bermakna operasi gagal. Setelah objek Promise selesai, ia akan berubah daripada keadaan belum selesai kepada keadaan dipenuhi atau ditolak, dan tidak boleh berubah lagi. Objek janji digunakan secara meluas dalam JavaScript untuk mengendalikan operasi tak segerak seperti permintaan AJAX dan operasi bermasa.

Apakah objek janji?

Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.

"Janji" ialah objek yang biasa digunakan dalam pengaturcaraan tak segerak yang mewakili operasi yang mungkin selesai atau gagal pada masa hadapan. Objek Promise digunakan secara meluas dalam JavaScript untuk mengendalikan operasi tak segerak seperti permintaan AJAX, operasi bermasa, membaca dan menulis fail, dsb.

Objek Promise mempunyai keadaan berikut:

  1. pending: keadaan awal, bukan keadaan kejayaan mahupun kegagalan.
  2. dipenuhi: bermakna operasi telah berjaya diselesaikan.
  3. ditolak: bermakna operasi gagal.

Setelah objek Janji selesai (berjaya atau gagal), ia akan berubah daripada keadaan belum selesai kepada keadaan dipenuhi atau ditolak, dan tidak boleh berubah lagi.

Objek Promise mengandungi kaedah berikut:

  1. then(): Mengembalikan Promise, dan apabila Promise dilaksanakan, mengembalikan nilai hasil. Nilai hasil diluluskan melalui kaedah then(). Jika Janji ditolak, Janji yang dikembalikan juga akan ditolak.
  2. catch(): Mengembalikan Janji, dan apabila Janji ditolak, mengembalikan nilai hasil. Nilai hasil dihantar melalui kaedah tangkapan (). Jika Janji ditepati, Janji yang dikembalikan akan ditolak.
  3. akhirnya(): Mengembalikan Janji Tidak kira sama ada Janji dipenuhi atau ditolak, fungsi panggil balik yang dinyatakan dalam akhirnya akan dilaksanakan.
  4. done(): Mengembalikan Janji Apabila Janji dipenuhi atau ditolak, fungsi panggil balik yang ditentukan akan dipanggil. Perbezaan dari finally() ialah jika Promise dipenuhi, fungsi panggil balik akan menerima nilai hasil Promise sebagai parameter jika Promise ditolak, fungsi panggil balik tidak akan menerima sebarang parameter.
  5. promise(): Mengembalikan Promise yang membalut objek yang mungkin mempunyai antara muka Promise. Kaedah ini membungkus objek asal ke dalam objek Janji.
  6. all(): Mengembalikan Janji Apabila semua Janji berjaya, mengembalikan tatasusunan yang mengandungi nilai hasil setiap Janji jika Janji gagal, Janji yang dikembalikan akan ditolak.
  7. perlumbaan(): Mengembalikan Janji Apabila mana-mana Janji berjaya atau gagal, Janji yang dikembalikan akan berjaya atau gagal.

Atas ialah kandungan terperinci Apakah objek janji?. 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