zoukankan      html  css  js  c++  java
  • 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>
    View Code

    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>
    View Code

    异步/同步 是得到消息的方式。  同步方式一直等待结果,而异步方式是回调(或其他方式通知)通知结果
    阻塞/非阻塞是否当前UI线程能做其他事情 。当前线程一直等待不能做其他事情就造成阻塞,当前线程做其他事情 就不会造成阻塞

  • 相关阅读:
    js上传图片预览
    Android 调用QQ登录
    未开启HugePages ORACLE session剧增时引起的一次悲剧
    脱了裤子放屁之std::string
    [Python爬虫] Selenium自己主动訪问Firefox和Chrome并实现搜索截图
    tomcat启动报错,找不到相应的 queue,从而引发内存泄漏
    LeetCode: Binary Tree Postorder Traversal [145]
    素数打表法。
    linux 抓包 tcpdump 简单应用
    Linux命令之kill
  • 原文地址:https://www.cnblogs.com/tiancai/p/5325001.html
Copyright © 2011-2022 走看看