jquery apabila kaedah

王林
王林asal
2023-05-28 16:11:08882semak imbas

jQuery ialah perpustakaan JavaScript yang digunakan secara meluas dalam pembangunan web Ia mempunyai operasi DOM dan ciri pemprosesan acara yang cekap dan pantas, serta keupayaan operasi AJAX mudah alih. Kaedah bila ialah kaedah pemprosesan operasi tak segerak berdasarkan Janji, yang boleh merealisasikan pemprosesan segerak berbilang operasi tak segerak. Artikel ini akan memperkenalkan penggunaan jquery apabila kaedah dan senario aplikasi biasa.

1. Sintaks asas jquery when method
Apabila kita perlu melakukan berbilang operasi tak segerak dan meneruskan ke langkah seterusnya selepas semuanya selesai, kita boleh menggunakan kaedah jquery when. Kaedah ini boleh mengurangkan logik pemprosesan tak segerak yang kompleks dan sarang fungsi panggil balik yang sepadan dengan mencipta objek Promise dan mengembalikan objek.

Apabila semua operasi tak segerak berjaya, parameter dalam fungsi panggil balik akan menjadi tatasusunan yang terdiri daripada hasil setiap operasi tak segerak gagal, fungsi panggil balik akan mengembalikan sebab kegagalan operasi tak segerak . Kaedah ini boleh menerima sebarang bilangan objek operasi tak segerak atau objek boleh lelar sebagai parameter.

$.when(operasi tak segerak 1, operasi tak segerak 2, …).selesai(

function(异步操作1结果, 异步操作2结果, …) {
    // 在操作1和操作2都成功结束后执行的代码块
}

).gagal(

function(错误原因) {
    // 当其他操作失败时执行的代码块
}

);

dua , Senario penggunaan biasa jquery apabila kaedah

  1. Berbilang permintaan tak segerak perlu dilengkapkan sebelum melaksanakan operasi seterusnya
    Menghantar berbilang permintaan AJAX pada masa yang sama ialah kes penggunaan biasa dalam pembangunan web. Untuk mengelakkan setiap permintaan daripada mencetuskan pemprosesan permintaan seterusnya selepas menerima respons, kita boleh menggunakan kaedah jquery when untuk menunggu kesemuanya selesai. Contohnya:

var promise1 = $.ajax({

url: "https://jsonplaceholder.typicode.com/todos/1",
method: "GET"

});

var promise2 = $.ajax({

url: "https://jsonplaceholder.typicode.com/todos/2",
method: "GET"

});

$.when(promise1, promise2).done(function(response1, response2) {

console.log(response1[0]); // 输出第一个Ajax响应数据
console.log(response2[0]); // 输出第二个Ajax响应数据

});

  1. Semak di mana-mana peringkat Adakah data sedia?
    Semasa pemuatan data tak segerak, kita biasanya perlu memaparkan penunjuk pemuatan atau menghalang pengguna daripada melakukan operasi yang tidak bermakna. Kaedah jquery when boleh melaksanakan fungsi ini dengan mudah, contohnya:

var callback = function() {

console.log("Do other stuff after data is loaded");

};

$.when($. ajax ('/url/to/resource'))

.done(function(response) {
    console.log("Data loaded successfully");
})
.always(callback);
  1. Tunggu beberapa animasi selesai sebelum melakukan langkah seterusnya
    Kita boleh merangkum peristiwa penyiapan animasi ke dalam objek Promises ( berbilang objek bersama-sama) untuk menunggu semua animasi selesai sebelum melaksanakan langkah seterusnya, seperti:

var animation1 = $elem1.animate({ ... }).promise();
var animation2 = $elem2.animate({ ... }).promise();
var animation3 = $elem3.animate({ ... }).promise();

$ . when(animation1, animation2, animation3).done(function() {

console.log("All animations have completed");

});

Sudah tentu, kita juga boleh merangkum berbilang animasi pada elemen yang sama ke dalam Objek janji, seperti sebagai:

var promisesArray = [];

promisesArray.push($element1.delay(1000).animate({ ... }).promise());
promisesArray .push($element1.fadeOut().promise());
promisesArray.push($element2.slideUp().promise());

$.when.apply(null , promisesArray) .done(function() {

console.log("All animations have completed");

});

Ringkasnya, kaedah jquery when ialah penyelesaian pemprosesan segerak yang sesuai untuk pelbagai operasi tak segerak Kod ini mudah dan mudah manage. , jadi ia digunakan secara meluas dalam pembangunan sebenar. Saya harap artikel ini dapat memberikan sedikit pencerahan kepada pembaca tentang sintaks asas dan senario aplikasi biasa kaedah jquery when.

Atas ialah kandungan terperinci jquery apabila kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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 sebelumnya:jquery menambah gaya pada divArtikel seterusnya:jquery menambah gaya pada div