js中的同步代码和异步代码

JavaScript同步代码和异步代码


同步代码
代码单线执行,发送服务器请求后,等待返回数据,会出现网页空白(阻塞网页运行)

异步代码
代码发送请求后继续执行后续代码,不等待服务器返回数据(网页运行流畅)
js中常见的异步执行代码:
1.ajax请求:异步 JavaScript 和 XML
2.定时器:间隔一段时间才会执行,
3.事件处理函数:满足事件触发条件才会执行

异步底层执行原理
js代码是单线执行,代码从上往下依次执行,当遇到【异步任务】时,将其储存到一个【执行队列】中,当主线的代码执行结束后,在根据服务器的处理先后顺序执行剩余的【异步任务】


上述打印由于定时器的异步执行,先打印的3,再打印2

注意:【执行队列】中的任务只有在主线代码运行结束后才会执行,执行的先后顺序有浏览器返回的先后顺序决定

如何获取异步代码内的参数
异步代码的参数需要浏览器返回数据才会执行,但获取参数是在主线代码中执行。
解决方式:回调函数(利用函数声明不会执行,调用才会执行的性质)

封装异步代码,并传递一个函数fn作为实参,在请求结束的回调函数中调用函数fn并给他传递参数,
通俗地讲,就是让参数fn做异步代码的卧底,将结果传递出来

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值