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
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响应数据
});
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);
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!