Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Merangkai Tiga Panggilan Asynchronous Secara Berurutan dengan Janji jQuery?

Bagaimana untuk Merangkai Tiga Panggilan Asynchronous Secara Berurutan dengan Janji jQuery?

Linda Hamilton
Lepaskan: 2024-10-29 08:20:30
asal
823 orang telah melayarinya

How to Chain Three Asynchronous Calls Sequentially with jQuery Promises?

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>
Salin selepas log masuk

Dalam fungsi 'utama', rantaikan fungsi bersama-sama menggunakan .then().

<code class="javascript">function main() {
    first().then(second).then(third);
}</code>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan