码迷,mamicode.com
首页 > Web开发 > 详细

ajax之async属性

时间:2019-09-18 10:34:10      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:链接   let   技术   logs   return   parent   同步请求   bar   sync   

原文链接:https://www.cnblogs.com/zhaotiancheng/p/7428799.html

实际项目中,ajax可以说是非常、非常、非常 常用的。而ajax默认是 异步请求

 而有的时候 ajax的异步却不是特别的好用

技术图片
            //查询当前餐桌类型下有多少个餐桌 
            function tableCount(tableTypeId){
                var count = 0;
                $.ajax({
                    data:{
                        restaurantId:‘${restaurantId}‘,
                        businesstimeid:timeId,
                        predetermine:$(‘#orderdate‘).datebox(‘getValue‘),
                        currentDate:parent.currentDate,
                        theBsnssTimId:parent.theBsnssTimId,
                        typeId:tableTypeId
                    },
                    url:‘${ctx}/cater/caterTable/selectByTimeAndDuetotype‘,
                    dataType:"JSON",
                    type:"POST",
                    async:false,
                    success:function(result){
                        count = result.length;
                    }
                });
                return count;
            }
技术图片

 

调用这个方法时(方法的参数无视)

    var count = tableCount(record.id);
    $(‘#booksTableCount‘).html(count+‘桌‘);

这里我先贴上同步的代码  ,然后我说一下 同步和异步的区别

async:false  这个属性是同步请求,即在服务器返回值之前不再加载下面的代码,默认值为true(不写的时候为true异步请求)

当我没有写async:false的时候, 这个方法返回的值为0 因为 方法还没有返回值的时候 下方代码已经加载完 那么count 有个默认值是0 :

技术图片

未返回值,下面的方法便开始执行了,所以会显示成0

 

当加上async:false的时候,代码不再继续加载,等到服务器返回值之后才继续走,即走了success之后  才继续执行下面的代码  才有返回值

 

技术图片

什么时候返回值,才会继续加载其他代码

ajax之async属性

标签:链接   let   技术   logs   return   parent   同步请求   bar   sync   

原文地址:https://www.cnblogs.com/ncwoniu/p/11539885.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!