Rumah > Artikel > hujung hadapan web > Apakah cara untuk menulis dalam es6?
Dalam es6, kaedah penulisan kemudian ialah "kemudian (tambah fungsi panggil balik untuk perubahan keadaan yang berjaya pada contoh janji, fungsi panggil balik untuk kegagalan)"; contoh janji apabila keadaan berubah Hasil yang dikembalikan ialah contoh janji baharu, dan kaedah itu boleh menggunakan operasi berantai.
Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.
Menulis:
then(参数1,参数2)
Fungsi: Tambahkan panggilan balik apabila keadaan berubah kepada janji Fungsi instance
Parameter 1 ialah fungsi panggil balik yang berjaya,
Parameter 2 ialah fungsi panggil balik kegagalan
Nilai pulangan: Kaedah then() mengembalikan For new contoh janji, kaedah then() boleh menggunakan operasi rantaian
Pengetahuan lanjutan:
Promise
Konsep: Promise ialah pengaturcaraan tak segerak A penyelesaian.
2. Asynchronous: Cara sebelumnya untuk melaksanakan operasi asynchronous: ①Fungsi panggil balik ②Event triggering
3 >
4. Ciri-ciri: ①: Keadaan objek tidak terjejas oleh dunia luar Objek janji mewakili operasi tak segerak dan mempunyai tiga keadaan: Belum selesai (sedang dijalankan).dipenuhi (berjaya). ). Hanya hasil daripada operasi tak segerak boleh menentukan keadaan semasa, dan tiada operasi lain boleh mengubah keadaan ini ②: Apabila keadaan objek berubah, ia tidak akan berubah lagi, pada bila-bila masa Ini. keputusan boleh diperolehi. (Hanya terdapat dua kemungkinan untuk menukar keadaan objek Janji: daripada belum selesai kepada dipenuhi dan belum selesai kepada ditolak. baru Objek janji boleh mencipta contoh janji(2) Perihalan parameter: objek janji menerima fungsi sebagai parameter Parameter fungsi ini ialah dua fungsi, dengan syarat oleh enjin Javascript
(3) Peranan fungsi menyelesaikan: Dipanggil apabila operasi tak segerak berjaya, dan hasil operasi tak segerak dipadamkan sebagai parameter.
const promise=new Promise(function(resolve,reject){})(4) Peranan fungsi tolak: Apabila operasi tak segerak gagal Panggil dan lulus ralat yang dilaporkan oleh operasi tak segerak sebagai parameter Penerangan: Selepas contoh janji dijana, anda boleh menggunakan kaedah kemudian untuk menentukan. fungsi panggilan balik kejayaan dan kegagalan masing-masing .then() Ia adalah kaedah contoh janji, yang menunjukkan operasi seterusnya akan dilakukan Contohnya:
. 6. Kaedah Contoh Janji
(1)kemudian(parameter 1. Parameter 2)
function ajax(){ console.log("hello"); return new Promise(function(resolve,reject){ setTimeout(function(){ resolve(); },1000) }) ajax.then(function(){ console.log("world"); }) }Fungsi: Tambahkan fungsi panggil balik untuk contoh janji apabila keadaan berubah Parameter 1 ialah fungsi panggil balik yang berjaya, parameter 2 ialah fungsi panggil balik yang gagal Nilai pulangan: Kaedah then() mengembalikan instance promise baharu () kaedah then() boleh menggunakan operasi rantaian (2)catch() Fungsi: Tentukan apabila ralat berlaku Fungsi panggil balik adalah bersamaan dengan parameter kedua kaedah kemudian Contohnya:
7. Kaedah lanjutan Promise
(1)promise.all( )
Fungsi: Pek berbilang kejadian janji ke dalam contoh janji baharu, panggilan balik yang berjaya hanya akan dilaksanakan jika berbilang operasi tak segerak berjaya, jika tidak, panggilan balik yang gagal akan dilaksanakan
let ajax=function(num){ return new Promise((resolve,reject){ if(num>5){ resolve(num); }else{ throw new Error("出错了"); } }) } ajax(2).then(function(num){ console.log(num); }).catch(function(error){ console.log(error); })Perihalan parameter: Terima tatasusunan sebagai parameter, setiap item tatasusunan ialah contoh janji (2) promise.race. () Fungsi: Pek berbilang kejadian janji menjadi tika janji baharu selagi satu tika menukar keadaan terlebih dahulu, keadaan janji akan berubah dengan sewajarnya Perihalan parameter: Terima tatasusunan sebagai parameter, dan setiap item dalam tatasusunan ialah contoh janji 8. Promise style AjAx
[Cadangan berkaitan:
tutorial video javascript,
bahagian hadapan web]
Atas ialah kandungan terperinci Apakah cara untuk menulis dalam es6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!