-
什么是异步?什么是同步?
-
ajax请求1和ajax请求2,同时并发,谁也不用等谁,这就是异步。(a不等b,b也不等a)
-
如果ajax请求1在发送的时候需要等待ajax请求2结束之后才能发送,那么这就是同步。(a等待b,或者b等待a,只要发生等待,就是同步。)
-
- 异步和同步在代码上如何实现?
// 假设这个是ajax请求1
// 如果第三个参数是false:这个就表示“ajax请求1”不支持异步,也就是说ajax请求1发送之后,会影响其他ajax请求的发送,只有当我这个请求结束之后,你们其他的ajax请求才能发送。
// false表示,不支持异步。我这个请求发了之后,你们其他的请求都要靠边站。都等着。你们别动呢,等我结束了你们再说。
xhr1.open("请求方式", "URL", false)
xhr1.send()
// 假设这个是ajax请求2
// 如果第三个参数是true:这个就表示“ajax请求2”支持异步请求,也就是说ajax请求2发送之后,不影响其他ajax请求的发送。
xhr2.open("请求方式", "URL", true)
xhr2.send()
-
什么情况下用同步?(大部分情况下我们都是使用ajax异步方式,同步很少用。)
-
举一个例子
-
用户注册
-
用户名需要发送ajax请求进行校验
-
邮箱地址也需要发送ajax请求校验
-
其他的也可能需要发送ajax请求。。。
-
并且最终注册按钮的时候,也是发送ajax请求进行注册。
-
那么显然,注册的Ajax请求和校验的ajax请求不能异步,必须等待所有的校验ajax请求结束之后,注册的ajax请求才能发。
-
-
-
以上均是观看老杜视频,所记录的笔记。