Apakah keadaan yang berbeza bagi janji JavaScript dan bagaimana ia berkaitan dengan istilah seperti 'selesai,' 'diselesaikan' dan 'tertunda'?

Barbara Streisand
Lepaskan: 2024-11-06 18:39:02
asal
740 orang telah melayarinya

What are the different states of a JavaScript promise and how are they related to terms like

Istilah Janji JavaScript

Memahami terminologi yang mengelilingi janji JavaScript mungkin mencabar. Menurut spesifikasi Promises/A dan ES6, janji mempunyai tiga keadaan berbeza:

  • Belum selesai: Janji belum menentukan keputusannya.
  • Ditepati: Janji telah berjaya memperoleh nilai hasil.
  • Ditolak: Janji telah menemui sebab untuk tidak memperoleh keputusan, selalunya ralat.

Selesai, Diselesaikan dan Ditepati

Istilah "selesai" merujuk kepada sama ada dipenuhi atau ditolak, secara kolektif, membayangkan bahawa janji itu tidak lagi tertangguh. Walau bagaimanapun, "diselesaikan" ialah konsep yang kompleks.

Ia kadangkala boleh digunakan secara bergantian dengan "dipenuhi", tetapi tafsiran yang lebih tepat ialah "menyelesaikan" ialah tindakan menetapkan nasib janji sama ada dipenuhi atau ditolak . "Penyelesaian" janji menandakan bahawa ia telah keluar daripada keadaan belum selesai.

Rekursi dan Menyelesaikan

Prosedur Penyelesaian Janji adalah rekursif. Menyelesaikan janji dengan nilai asas memenuhinya, manakala menyelesaikannya dengan janji lain mengamalkan keadaan janji itu. Ini boleh membawa kepada senario di mana janji diselesaikan tetapi keadaan terakhirnya tidak ditentukan. Dalam kes sedemikian, janji itu dirujuk sebagai "diselesaikan" dalam erti kata bahawa takdirnya tidak lagi samar-samar, tetapi keadaan sebenar mungkin masih belum selesai.

Menunda

Menunggu keputusan melibatkan penyediaan janji tak segerak untuk keputusan dan bukannya mengembalikan hasilnya secara terus. Proses ini juga mengembalikan penolakan tertunda dan bukannya melontar secara serentak.

Dalam perpustakaan tertentu, seperti Q, istilah "tunda" merujuk kepada kaedah yang membina objek Tertunda. Adalah penting untuk ambil perhatian bahawa nama pembolehubah mungkin tidak selalu mencerminkan maksud yang dimaksudkan dengan tepat dan "menangguhkan" juga mungkin merupakan singkatan untuk "deferredObject."

Atas ialah kandungan terperinci Apakah keadaan yang berbeza bagi janji JavaScript dan bagaimana ia berkaitan dengan istilah seperti 'selesai,' 'diselesaikan' dan 'tertunda'?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!