JS同步、异步(执行都是同步的,只有结果是异步)和回调函数

JS将任务的执行模式分为两种:同步(synchronous) 和 异步(asynchronous)。

1.同步:上一个任务全部都完成之后,再去执行下一个任务。

2.异步:下一个任务不用等上一个任务全部都完成,可以直接往下执行。

eg. 同步:刷牙和洗脸,先刷完牙,再洗脸或先洗完脸,再刷牙。
     异步:刷牙的同时去烧水。

(备注:js是单线程的,按照从上往下顺序执行代码,当遇到异步程序时,会将异步代码抽出来放入事件队列中,先执行完后面的所有同步代码,最后再去执行事件队列里面的。)

终极提示:执行(全)都是同步的,只有结果是异步(即动作已经执行了,但是结果没有立即回来,即结果是异步的)!

3.回调函数:回调与同步、异步并没有直接的联系回调只是一种实现方式,既可以有同步回调也可以有异步回调还可以有事件处理回调和延迟函数回调。

异步:凡是需要等一会的,都是异步。

(1)读数据的都是异步的(请求数据)。

(2)交互事件。

(3)setTimeout和setInterval函数(注:等0毫秒,也是异步!)

扩展:

将异步代码写成同步代码(逻辑没变(异步的还是异步),写法形式改变):promise

将异步逻辑代码该成真正的同步代码 (逻辑和写法都改变了): async+await

参照:https://www.cnblogs.com/moxiaowohuwei/p/8438236.html

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值