Dalam es6, promise bermaksud "janji". masalah. Sintaks ialah "Janji baharu(fungsi(selesai, tolak){..})".
Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.
Janji bermaksud janji. Idea teras di sebaliknya ialah janji itu mewakili hasil operasi tak segerak.
ialah penyelesaian pengaturcaraan tak segerak baharu dalam es6, yang diwakili sebagai objek dalam kod.
Promise ialah penyelesaian yang disediakan oleh pengaturcaraan asynchronous js, terutamanya digunakan untuk menyelesaikan masalah kawasan panggil balik.
Promise ada tiga keadaan iaitu
Pending (in progress) initial state
Fulfilled (berjaya) bermaksud The operation berjaya
ditolak (gagal) bermakna operasi gagal
Nota: Tiga keadaan objek Janji tidak terjejas oleh dunia luar . , hanya peristiwa yang disimpan dalam janji yang akan berakhir pada masa hadapan akan terjejas. Maksudnya, hanya hasil daripada operasi tak segerak boleh menentukan keadaan semasa Tiada operasi lain yang boleh mengubah keadaan ini
Setelah keadaan Janji berubah, ia tidak dapat dipulihkan (dalam kemajuan) keadaan boleh Beralih kepada keadaan Terpenuhi (berjaya)
Keadaan belum selesai (dalam proses) boleh ditukar kepada keadaan ditolak (gagal)
janji Terdapat hanya dua situasi di mana keadaan berubah Sekali kedua-dua situasi ini berlaku Jika status berubah, maka status menjadi kukuh dan akan sentiasa mengekalkan keputusan ini.
Penggunaan asasSintaks:
Prinsip:new Promise( function(resolve, reject) {...} /* executor */ )
Apabila membina objek Promise, anda perlu memasukkan fungsi pelaksana, proses perniagaan utama dilaksanakan dalam fungsi pelaksana.
Fungsi pelaksana dipanggil serta-merta apabila pembina Promise dilaksanakan dipanggil, masing-masing Status janji berubah kepada dipenuhi atau ditolak. Sebaik sahaja keadaan berubah, ia tidak akan berubah lagi, dan keputusan ini boleh diperolehi pada bila-bila masa.
Selepas memanggil fungsi menyelesaikan dalam fungsi pelaksana, fungsi panggil balik yang ditetapkan oleh promise.then akan dicetuskan; dan selepas memanggil fungsi reject
, fungsi panggil balik yang ditetapkan oleh promise.catch akan dicetuskan.
Seperti yang ditunjukkan di bawah:
Contohnya adalah seperti berikut:Buat objek Janji baharu
Anda perlu meneruskan fungsi panggil balik Fungsi panggil balik mempunyai dua parameter, yang masing-masing mewakili menyelesaikan dan menolak, dan kedua-dua parameter adalah fungsi
Jika kedua-dua parameter tidak dipanggil, keadaan lalai belum selesai
Panggil fungsi tolak, yang mewakili keadaan Janji, dan ia akan daripada belum selesai==> ;ditolak
let promise=new Promise(function(resolve,reject){ });//pending状态
[Cadangan berkaitan:
tutorial video javascriptlet promise=new Promise(function(resolve,reject){ resolve(); });//fulfilled状态
bahagian hadapan web
]let promise=new Promise(function(resolve,reject){ reject(); });//rejected 状态
Atas ialah kandungan terperinci Apakah maksud janji es6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!