Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Merangkai Tiga Panggilan Asynchronous Secara Berurutan dengan Janji jQuery?
Merangkai Tiga Panggilan Tak Segerak dengan Janji jQuery
Anda mempunyai tiga panggilan HTTP tak segerak yang perlu anda laksanakan mengikut urutan, menghantar data daripada satu panggilan ke seterusnya. Kod yang disediakan menggunakan objek tertunda untuk dua fungsi tetapi memerlukan sambungan untuk tiga fungsi.
Dalam setiap kes, kembalikan objek jqXHR yang dihasilkan oleh $.ajax(). Objek ini serasi dengan Promise, membenarkan rantaian dengan .then()/.done()/.fail()/.always(). Untuk senario ini, .then() adalah sesuai.
<code class="javascript">function first() { return $.ajax(...); } function second(data, textStatus, jqXHR) { return $.ajax(...); } function third(data, textStatus, jqXHR) { return $.ajax(...); }</code>
Dalam fungsi 'utama', rantaikan fungsi bersama-sama menggunakan .then().
<code class="javascript">function main() { first().then(second).then(third); }</code>
Data argumen, textStatus, dan jqXHR berasal daripada seruan $.ajax() dalam fungsi sebelumnya. Dalam erti kata lain, first() membekalkan second(), dan second() membekalkan third().
(Untuk ilustrasi, gunakan $.when('foo') untuk menghasilkan janji yang dipenuhi sebagai ganti $. ajax(...)).
Atas ialah kandungan terperinci Bagaimana untuk Merangkai Tiga Panggilan Asynchronous Secara Berurutan dengan Janji jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!