第四天 同步和异步

1.同步异步

所有任务分为两种:一种是同步任务,另一种是异步任务。

2.1 同步任务

是指在主线程上排队整形的任务,只有前一个任务执行完毕,才能执行下一个任务。这就产生了一个问题,如果前一个任务耗时比较长,后续的任务则需要等待前一个任务执行完毕,从而阻塞代码的执行。

2.2 异步任务

在程序运行的时候,如果前一个任务耗时比较长,并不会等待任务返回结果,而是继续执行后续的任务。当前一个任务结果返回以后,再去执行相关任务。异步任务很好的解决了代码运行中的阻塞问题。

2.3 异步任务包括
  • 定时器:setTimeout setInterval
  • ajax的异步请求
  • es6的promise
2.4 回调函数

异步函数取值问题:回调函数方式解决。
回调函数定义
函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。

//定义主函数,回调函数作为参数
function A(callback) {
    callback();  
    console.log('我是主函数');      
}
 
//定义回调函数
function B(){
    setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作  
}
 
//调用主函数,将函数B传进去
A(B);
 
//输出结果
我是主函数
我是回调函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值