我们先了解同步和异步是什么?同步是阻塞模式,异步是非阻塞模式
同步:就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,
直到收到返回信息才继续执行下去。相当于是当客户端发送请求给服务端,在等待服务端响应的请求时,客户端不做其他的事
情,当服务器做完了才返回客户端。这样的话客户端需要一直等待,用户使用起来会有不友好。
异步:是指进程不需要一直等下去,而是继续执行下面的操作,不管进程的状态。当有信息返回是系统会通知进程进行处
理,这样可以提高执行的效率。相当于当客户端发送服务端请求时,在等待服务端响应的时候,客户端可以做其他的事情,这
样节约了时间,提高了效率。
注意:存在就有其道理,异步虽然好,但是有些问题是要用同步来解决的,比如有些东西我们需要的是拿到返回的数据再
进行操作的,这些是异步无法解决的。
- 比如说一个人边吃饭,边看手机,边说话就是异步处理的方式
- 同步处理就不一样了,说话后再吃饭,吃完饭再看手机,必须等上一件事情完成了,才执行后面的事情
- 而在前端开发中常见的异步包括: setTimeout、setlnterval、ajax
- setTimeout是定时延时进行函数,只执行一次
- setlnterval也是定时延时函数,但是这个函数本身可以一直执行,不会停止,除非把它消除
- ajax是前端常用的和后台进行异步交互数据的请求方式,其实它本身也包括同步和异步,同步就是由代码从上到下顺
- 序执行,而异步的ajax是我们发送请求到服务器之后,只需要再监听服务器的响应即可,不用等到请求结束时执行
- 其他的代码,这就是异步aiax。