Ajax中的async的取值(异步和同步)

之前去面试广州科腾公司时,面试官问了一个问题—ajax的async取值的理解。那时候的我可以说是个死菜鸟(现在可能是个半死不活的菜鸟),只是理解取值的字面意思,最后还要面试官给我解释。虽然面试肯定是挂了,但是至少面试官教了我点东西,也不亏了对吧。言归正传了。
ajax的open方法的第三个参数是async的取值,分别有true和false。true表示是异步模式,false表示同步模式。
首先要明确一点,ajax在全局环境中是异步模式的 ,async讲的是ajax请求内部的同异步。
对于同步模式,如果ajax发出请求(send方法调用后),后续还有代码执行,此时如果服务器响应不及时(也就是此时ajax的请求代码还没有全部执行完成),后续的代码不会执行(此时页面出现假死状态,此时也不用考虑代码的执行顺序)。此时就会出现阻塞状态。
对于异步模式,一般多用异步模式。如果ajax执行完send后,后续还有代码需要执行,此时服务器响应不够及时,后续的代码还是会继续执行。不会出现阻塞现象
既然异步比较好,那为什么会有同步这个选项呢。这也是那个面试官问我的问题之一。答案是,因为如果ajax执行完send后,后续的代码是有关于响应结果的处理,那如果是异步请求,则如果此时服务器的响应结果还没回来,那么后续有关于响应结果的处理就会出现错误(return null)。此时是一定要用同步的。

—–有不同意见欢迎留言改正000000

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值