Dalam tutorial ini, kita akan membincangkan Janji rantaian dalam JavaScript. Sebelum beralih kepada rantai Janji, mari kita bincangkan dahulu apa itu Janji
Jadi, kami tahu bahawa JavaScript adalah satu-benang, yang bermaksud bahawa dua fungsi tidak dibenarkan dijalankan pada masa yang sama, kerana kami hanya mempunyai satu timbunan panggilan, seperti yang ditunjukkan di bawah, yang mempunyai satu fungsi untuk melaksanakan #🎜 🎜#
Apabila satu fungsi menyelesaikan pelaksanaan, fungsi lain memulakan pelaksanaan, jadi untuk mencapai dua atau lebih fungsi berjalan pada masa yang sama, kami menggunakan pengaturcaraan tak segerak dalam contoh JavaScript - fungsi setTimeout, yang menerima fungsi panggil balik dan masa yang ditentukan , selepas itu ia akan melaksanakan fungsi.
setTimeout(function cT(){ console.log("I am here after 5 seconds") }, 5000);
Sama seperti dalam kehidupan sebenar, kami komited untuk menyelesaikan mana-mana kerja dengan cara yang sama kami membuat komitmen, dan ia wujud di salah satu daripada tiga negeri.
Kami menggunakan kaedah
then() untuk melaksanakan Promise selepas pernyataan Promise, dan jika ia ditolak kerana beberapa ralat, ia akan diproses menggunakan blok tangkapan.
Bagaimana untuk mengisytiharkan Janji dalam JavaScript?let promise = new Promise(function (resolve, reject) { return resolve("Hello I am resolved"); });
resolve() dan reject(), sebagai Seperti yang kita sedia maklum daripada penjelasan di atas tentang kedua-duanya.
Jadi, selesaikan di sini memastikan kejayaan menyelesaikan fungsi yang kami berikan, manakala penolakan akan memastikan tanggungjawabnya untuk penyiapan fungsi panggil balik boleh laku yang diberikan yang tidak berjaya.Contoh 1
<!DOCTYPE html> <html> <head> <title>Promise chaining in JavaScript</title> </head> <body> <h3> Execute a Promise we receive</h3> <p id ="result"></p> <script> let promise = new Promise(function (resolve, reject) { return resolve("Hello I am resolved"); }); promise.then(function(value) { console.log(value); document.getElementById("result").innerHTML += value; }) </script> </body> </html>
Apakah itu rantai janji?
Contoh 2
<!DOCTYPE html> <html> <head> <title>Promise chaining in JavaScript </title> </head> <body> <h3> Promise Chaining</h3> <p id ="result"></p> <script> let promise = new Promise(function (resolve, reject) { return resolve(10); }); promise.then(function(firstPromise_val) { alert(firstPromise_val) document.getElementById("result").innerHTML += "First Promise val: "+firstPromise_val+"<br>"; return firstPromise_val+10; }). then(function(secondPromise_val){ alert(secondPromise_val) document.getElementById("result").innerHTML +="Second Promise val: "+ secondPromise_val+"<br>"; return secondPromise_val+10; }). then(function(thirdpromise_val){ alert(thirdpromise_val) document.getElementById("result").innerHTML +="Third Promise val: "+thirdpromise_val+"<br>"; return thirdpromise_val+10; }) </script> </body> </html>
.then() mengembalikan Promise baharu dan menggunakan .then() untuk memanggil seterusnya dan seterusnya.
Contoh 3<!DOCTYPE html> <html> <head> <title>Promise chaining in javascript</title> </head> <body> <h3> Promise Chaining</h3> <p id ="result"></p> <script> let promise = new Promise(function (resolve, reject) { return resolve("My"); }). then(function(firstPromise_val) { alert(firstPromise_val) return firstPromise_val+" Name"; }). then(function(secondPromise_val){ alert(secondPromise_val) return secondPromise_val+" is"; }). then(function(thirdpromise_val){ alert(thirdpromise_val) return thirdpromise_val+" Kalyan"; }). then(function(thirdpromise_val){ alert(thirdpromise_val) document.getElementById("result").innerHTML = thirdpromise_val }) </script> </body> </html>
Atas ialah kandungan terperinci Apakah rantai Janji dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!