异步与回调的异同点

一、什么是同步和异步?

  1. 同步:直接能拿到结果
  2. 异步:不能直接拿到结果

在JS中,有的函数不能立刻拿到结果,需要等一会才能拿到结果,比如发送HTTP请求,等待响应需要一段时间。

如果 JS 不能直接拿到一个函数的结果,可以先去执行别的代码,等结果到了再取结果,这就是异步

异步的好处是可以把用来等待的时间拿去做别的事情

 

怎么判断一个函数的结果是同步的还是异步的呢?

如果一个函数的返回值在setTimeout, AJAX, AddEventListener 这三个东西内部,那么这个函数就是异步函数

二、什么是回调?

 

我们希望能够拿到异步函数的结果,有两种方法:轮询和回调

  • 轮询就是我定时去询问拿到结果了没
  • 回调就是我写一个函数fn,然后传给异步函数,当异步函数执行完毕时,就会调用fn, 于是我们就通过回调拿到了异步处理的结果

满足以下条件的函数就是回调函数:我写给别人用,自己不用的函数

举例:

  1. 我写了函数A,传给函数B, B会调用函数A, 那么A就是回调
    1. arr.forEach((item)=>console.log(item))
    2. (item)=>console.log(item) 这个箭头函数就是一个回调
  1. 有的时候回调还可以传给一个对象&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值