js同步和异步的区别是什么(js同步和异步的理解)

Ajax同步与异步的区别

在使用ajax请求数据的时候,通常情况下我们都是把“`async:true “`当做默认来处理,让我们的请求成为一个异步的请求。但是在某种情况下我们是需要吧“`async:false“`设置为false的,方便我们进行观察数据的走向、去处。那**同步和异步**有什么区别呢?

## 同步请求

async:false
...

$.ajax({ 

		async:false,

		type:\"POST\",

		url:\"Venue.aspx?act=init\",

		dataType:\"html\",

		success:function(result){  //function1()

		    f1();

		    f2();

		 }

		 failure:function (result) { 

		    alert(\'我在弹\'); 

		}

        }

function2();

...

分析

– 这个时候ajax块发出请求后,他会等待在function1()这个地方,不会去执行function2(),直到function1()部分执行完毕。

## 异步请求

async:true
...

$.ajax({ 

		async: true, //默认为 true

		type:\"POST\",

		url:\"./xxx/xxx/a/b.html\",

		dataType:\"html\",

		success:function(result){  //function1()

		     f1();

		     f2(); 

		}

		failure:function (result) { 

		      alert(\'我弹\'); 

		},

		}

function2();

...

分析

– 当ajax块发出请求后,他将停留function1(),等待返回结果,但同时(在这个等待过程中),function2()就可以跑起来。

总结(两者的区别)

1. 同步的请求的时候,代码好比在排队,必须是一个挨着一个地去执行,前面的没有结束,后面的代码就处于一个阻塞的状态。

2. 异步执行的时候,数据请求的同时,其他代码语句也可以同步执行,比如,在数据请求的时候,由于某些愿意,需要慢慢的返回请求结果,在这个时候带宽是很空闲的,那么,代码不会等到前面的数据完全请求返回就可以开始后面的代码运行。

(0)
仰望辉煌。  的头像仰望辉煌。  

相关推荐

发表回复

登录后才能评论