Ya. Promise ialah jenis rujukan baharu dalam ECMAScript 6, yang mewakili penyiapan akhir atau kegagalan operasi tak segerak. Janji menyelesaikan masalah penulisan logik yang terlalu kompleks dalam kod panggilan pengaturcaraan tak segerak Apabila permintaan rangkaian sangat kompleks, neraka panggilan balik akan berlaku, jika kod ini ditulis bersama, ia akan kelihatan sangat rumit dan tidak kondusif untuk dibaca. Jika anda menggunakan Promises akan menjadikan kod tersebut kelihatan lebih cantik dan elegan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
ECMAScript 6 menambah sokongan lengkap untuk spesifikasi Promises/A, iaitu jenis Promise. Setelah dilancarkan, Promise menjadi sangat popular dan menjadi mekanisme pengaturcaraan tak segerak yang dominan. Semua penyemak imbas moden menyokong jangkaan ES6, dan banyak API penyemak imbas lain adalah berdasarkan jangkaan.
Promise ialah jenis rujukan baharu dalam ECMAScript 6, yang mewakili penyiapan akhir atau kegagalan operasi tak segerak.
1. Apakah fungsi janji itu? kompleks, ia akan Callback neraka muncul, jadi jika kod ini ditulis bersama, mereka akan kelihatan sangat rumit dan tidak sesuai untuk dibaca Jika anda menggunakan janji, kod akan kelihatan lebih cantik dan elegan
2. . Janji 3 Terdapat tiga keadaan
Pertama sekali, apabila terdapat operasi tak segerak dalam pembangunan kami, kami boleh membungkus Janji untuk operasi tak segerak, akan ada menjadi tiga keadaan
pending:等待状态,比如正在进行网络请求,或者定时器没有到时间。 fulfill:满足状态,当我们主动回调了resolve时,就处于该状态,并且会回调.then() reject:拒绝状态,当我们主动回调了reject时,就处于该状态,并且会回调.catch()
1, kemudian dan tangkap
1 dalam keadaan belum selesai adalah segerak dan akan dilaksanakan serta-merta
2 maka dan tangkapan adalah tidak segerak Walaupun tiada operasi tak segerak dalam objek janji dan kaedah atau tangkapan itu dilaksanakan serta-merta. dua kaedah di sini boleh ditambahkan pada baris gilir acara untuk menunggu pelaksanaan
//参数 函数(resolve,reject) new Promise((resolve, reject) => { setTimeout(() => { //请求成功的时候调用resolve resolve('22222') //请求失败的时候调用reject reject('error message') }, 1000) }).then((data) => { //请求成功处理函数 console.log(data) }).catch((err) => { //请求失败处理函数 console.log(err) })
1 dalam fungsi pemprosesan status belum selesai, status akan belum selesai dan terus menjadi status yang ditolak Dan boleh ditangkap oleh tangkapan
3 >var pro = new Promise((resolve, reject) => { throw new Error("123"); // try{ // throw new Error("123"); // } catch(e) {} resolve(12); reject(34); }) // pro.then(data => { // console.log(data); // }, err => { // console.log(err); // }) console.log(pro); pro.then(data => { console.log(data); }) pro.catch(data => { console.log(data); })1. Gunakan Janji:
2 Gunakan Async:
const makeRequest = () => getJSON().then(data => { console.log(data) return "done" }) makeRequest()async dan tunggu dicadangkan oleh ES7
Fungsi Async: Memudahkan penciptaan objek janji dalam nilai pulangan fungsi
Secara amnya, async ditulis di hadapan fungsi dan nilai pulangan bagi fungsi yang diubah suai mestilah janji objek. Hanya dalam beberapa kes khas objek janji akan dikembalikan secara manual.Fungsi: Menyelesaikan masalah tak segerak seperti janji, tetapi kelebihannya ialah untuk menjadikan kod tak segerak sama seperti segerak!!
Nota: Dalam kaedah segerak, kami mendapat hasil melalui pemulangan value , kaedah tak segerak mendapat hasil dengan bergantung pada fungsi panggil balik.
:
Async biasanya digunakan bersama-sama dengan await
- menunggu diikuti dengan objek janji menunggu mesti digunakan dalam fungsi tak segerak
- 3 Perbezaan 1. Terdapat kata kunci aync tambahan di hadapan fungsi. Kata kunci await hanya boleh digunakan dalam fungsi yang ditakrifkan oleh aync. Fungsi async secara tersirat akan mengembalikan janji, dan nilai penyelesaian janji ialah nilai pulangan fungsi. (Nilai penyelesaian semula dalam contoh ialah rentetan "selesai")
const makeRequest = async () => { // await getJSON()表示console.log会等到getJSON的promise成功reosolve之后再执行。 console.log(await getJSON) return "done" } makeRequest()
Kaedah empat.janji
1.semua kaedah
Kadang-kadang kita perlu menunggu dua atau lebih permintaan untuk kembali dengan jayanya Untuk meneruskan ke langkah seterusnya, semua kaedah janji adalah menunggu semua permintaan tak segerak dilengkapkan sebelum membuat panggilan balik seterusnya
2.kaedah perlumbaanvar r1 = new Promise((resolve,reject) => { setTimeout(function(){ resolve("我是第一个请求"); },1000) }) var r2 = new Promise((resolve,reject) => { setTimeout(function(){ resolve("我是第二个请求"); },3000) }) var r3 = new Promise((resolve,reject) => { setTimeout(function(){ resolve("我是第三个请求"); },4000) }) var r4 = new Promise((resolve,reject) => { setTimeout(function(){ resolve("我是第四个请求"); },500) })
Permintaan dihantar di pada masa yang sama. Siapa yang kembali dahulu akan menjadi pemenang.
Promise.all([r1,r2,r3,r4]).then(data => { console.log(data); })5. Janji enkapsulasi kes ajax [Cadangan berkaitan:
Promise.race([r1,r2,r3,r4]).then(data => { console.log(data); })tutorial video javascript
, depan web- tamat】
Atas ialah kandungan terperinci Adakah janji berdasarkan es6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

React adalah alat pilihan untuk membina pengalaman front-end interaktif. 1) React memudahkan pembangunan UI melalui komponen dan DOM maya. 2) Komponen dibahagikan kepada komponen fungsi dan komponen kelas. Komponen fungsi adalah lebih mudah dan komponen kelas menyediakan lebih banyak kaedah kitaran hayat. 3) Prinsip kerja React bergantung kepada algoritma DOM dan perdamaian maya untuk meningkatkan prestasi. 4) Pengurusan negeri menggunakan useState atau ini. Kaedah kitaran hayat seperti ComponentDidMount digunakan untuk logik tertentu. 5) Penggunaan asas termasuk membuat komponen dan pengurusan negeri, dan penggunaan lanjutan melibatkan cangkuk tersuai dan pengoptimuman prestasi. 6) Kesalahan biasa termasuk kemas kini status yang tidak betul dan isu prestasi, kemahiran debugging termasuk menggunakan reactdevtools dan sangat baik

React adalah perpustakaan JavaScript untuk membina antara muka pengguna, dengan komponen terasnya dan pengurusan negeri. 1) Memudahkan pembangunan UI melalui komponen dan pengurusan negeri. 2) Prinsip kerja termasuk perdamaian dan rendering, dan pengoptimuman dapat dilaksanakan melalui React.Memo dan Usememo. 3) Penggunaan asas adalah untuk membuat dan membuat komponen, dan penggunaan lanjutan termasuk menggunakan cangkuk dan konteksapi. 4) Kesalahan biasa seperti kemas kini status yang tidak betul, anda boleh menggunakan ReactDevTools untuk debug. 5) Pengoptimuman prestasi termasuk menggunakan react.memo, senarai virtualisasi dan codesplitting, dan menyimpan kod yang boleh dibaca dan dikekalkan adalah amalan terbaik.

React menggabungkan JSX dan HTML untuk meningkatkan pengalaman pengguna. 1) JSX membenamkan HTML untuk menjadikan pembangunan lebih intuitif. 2) Mekanisme DOM maya mengoptimumkan prestasi dan mengurangkan operasi DOM. 3) UI pengurusan berasaskan komponen untuk meningkatkan kebolehkerjaan. 4) Pengurusan negeri dan pemprosesan acara meningkatkan interaktiviti.

Komponen React boleh ditakrifkan oleh fungsi atau kelas, merangkumi logik UI dan menerima data input melalui prop. 1) Tentukan komponen: Gunakan fungsi atau kelas untuk mengembalikan elemen bertindak balas. 2) Rendering Component: React Call Render Kaedah atau Melaksanakan Komponen Fungsi. 3) Komponen multiplexing: Lulus data melalui prop untuk membina UI yang kompleks. Pendekatan kitaran hayat komponen membolehkan logik dilaksanakan pada peringkat yang berbeza, meningkatkan kecekapan pembangunan dan pemeliharaan kod.

React Mode Strict adalah alat pembangunan yang menyoroti isu -isu yang berpotensi dalam aplikasi React dengan mengaktifkan cek tambahan dan amaran. Ia membantu mengenal pasti kod warisan, hayat yang tidak selamat, dan kesan sampingan, menggalakkan amalan reaksi moden.

Serpihan bertindak balas membolehkan kumpulan kanak -kanak tanpa nod dom tambahan, meningkatkan struktur, prestasi, dan kebolehaksesan. Mereka menyokong kekunci untuk rendering senarai yang cekap.

Artikel ini membincangkan proses perdamaian React, memperincikan bagaimana ia mengemas kini DOM dengan cekap. Langkah -langkah utama termasuk mencetuskan perdamaian, mewujudkan DOM maya, menggunakan algoritma yang berbeza, dan memohon kemas kini DOM yang minimum. Ia juga meliputi perfo

Artikel ini membincangkan DOM maya, konsep utama dalam pembangunan web yang meningkatkan prestasi dengan meminimumkan manipulasi DOM langsung dan mengoptimumkan kemas kini.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Dreamweaver CS6
Alat pembangunan web visual

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod