jquery 同步
jQuery 同步操作的方法
jQuery 默认采用异步操作(如 AJAX),但可通过以下方式实现同步:

设置 AJAX 同步请求
将 async 参数设为 false,使 AJAX 请求同步执行:

$.ajax({
url: "example.php",
async: false,
success: function(response) {
console.log(response);
}
});
使用 $.when 和 deferred 对象
通过 $.Deferred() 手动控制异步流程同步化:
function syncTask() {
var deferred = $.Deferred();
setTimeout(function() {
deferred.resolve("任务完成");
}, 1000);
return deferred.promise();
}
$.when(syncTask()).done(function(result) {
console.log(result); // 同步等待结果
});
回调函数嵌套 通过回调链实现逻辑同步,但可能导致"回调地狱":
function first(callback) {
$.get("url1", function(data1) {
callback(data1);
});
}
function second(data1, callback) {
$.get("url2?param=" + data1, function(data2) {
callback(data2);
});
}
first(function(data1) {
second(data1, function(data2) {
console.log(data2);
});
});
注意事项
- 同步 AJAX 会阻塞浏览器,现代开发推荐使用
Promise或async/await。 - jQuery 3.0+ 已废弃
async: false选项,需改用其他方案。 - 复杂场景建议结合 ES6 的
Promise或async/await语法。






