同步异步

前端之家收集整理的这篇文章主要介绍了同步异步前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在做高校的时候(当时还没有学到ajax呢),用到了ajax代码,其中最看不懂的就是async,在网上一查,原来这个属性表示的是同步、异步。Async默认是true(异步),false(同步)。

同步和异步在汉语中的解释与计算机中完全不同。在计算机中的理解,同步就是当代码加载到当前ajax的时候会停止页面里所有代码的加载,页面出现假死状态,当这个ajax执行完毕后才会继续运行其他代码;异步就是执行ajax代码的时候,不会影响到后面代码的继续执行。(百度百科中的解释:异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。)

很绕口,举个例子解释一下!

同步操作就好像你现在需要手洗洗衣服和打扫卫生,这两件事情就不能同时进行,只能等待一件事情完成之后,才能去做另一件事情。而异步操作就好像用洗衣机洗衣服和打扫卫生,可以将衣服放入洗衣机中,让洗衣机洗,同时也不影响打扫卫生。在等待一件事情完成之前,不会影响到另一件事情的进行,这就是异步!

    function AjaxTest() {
        var flag = 0;
        //显示加载
        $("#ajaxStatus").text("正在加载数据请等待.......");
        //ajax提交处理(同步模式)
        $.ajax({
            type: "get",url: "/FunctionPage.aspx",async:false,//async: true,//异步    //async: false,//同步  
            cache: false,data: "",dataType: "html",success: function (ajaxData) {
                flag = ajaxData;
                $("#ajaxStatus").text("数据加载完成!");
            }
        });
        alert(flag);
    }
async:false,表示同步执行,当ajax代码执行完成后,才执行alert语句。async:true,表示异步执行,当ajax代码等待执行的时候,就会执行ajax后面的代码,即执行alert语句。

猜你在找的Ajax相关文章