Jquey里的同步请求和异步请求
1.同步请求 发送了同步请求后 会一直等待 先执行 alert("result:" + d); temp = d; 在执行alert("this is last:"+temp); 不能操作页面上的其他内容,会造成当前UI线程阻塞

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <meta charset="utf-8" /> <script type="text/javascript" src="Scripts/jquery-1.10.2.min.js"> </script> <script type="text/javascript"> $(function () { $.ajaxSetup({ async: false }); var temp = 0; $("#a1").click(function () { $.post("home/test", { async: false }, function (d) { alert("result:" + d); temp = d; }); alert("this is last:"+temp); }) }) </script> </head> <body> <a id="a1"> this is a1</a> <p>dddddddddddddddddddddddddddddddddddddddddd</p> <input type="button" value="btn" /> </body> </html>
2.异步请求,发送完异步请求后 先执行 alert("this is last:"+temp);再执行 alert("result:" + d); temp = d; 能够操作浏览器的其他内容,不会造成当前UI线程阻塞

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <meta charset="utf-8" /> <script type="text/javascript" src="Scripts/jquery-1.10.2.min.js"> </script> <script type="text/javascript"> $(function () { $.ajaxSetup({ async: true }); var temp = 0; $("#a1").click(function () { $.post("home/test", function (d) { alert("result:" + d); temp = d; }); alert("this is last:"+temp); }) }) </script> </head> <body> <a id="a1"> this is a1</a> <p>dddddddddddddddddddddddddddddddddddddddddd</p> <input type="button" value="btn" /> </body> </html>
异步/同步 是得到消息的方式。 同步方式一直等待结果,而异步方式是回调(或其他方式通知)通知结果
阻塞/非阻塞是否当前UI线程能做其他事情 。当前线程一直等待不能做其他事情就造成阻塞,当前线程做其他事情 就不会造成阻塞
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通