Ajax同步和异步的区别?

今天在code review时候看到同事的代码,用了ajax同步,async:false,如果不设置async参数,默认是true,为异步,异步的情况是比较复杂的,看下同步这个例子: 

function getCommit(){
var data = null;
$.ajax({
    url: '',
    async: false,
success:function(res){
data = res.data;
}
});
return data;
}

 该方法的return放在了方法的最后一步,不像我们常规使用成功回调那样,如果后台迟迟没有响应,则程序是卡死在这里不往下执行的,用户什么也做不了,就类似于浏览器崩溃或者死机一样。

ajax同步很确定的说,已经不适合应用在正式的产品中了,必须改为用异步去请求数据!但如果是异步,那么情况是比较复杂,如果嵌套多个则不知哪个接口会先返回,但是返回写在异步回调中就可以了。

 

书山有路勤为径,学海无涯苦作舟。【完】

posted @ 2018-07-16 11:08  tangjiao_Miya  阅读(247)  评论(0编辑  收藏  举报