什么是异步?

先看一下最简单的异步代码

console.log(1)

setTimeout(function(){

console.log(2)

},0)

console.log(3)

这里打印顺序是 1  3   2


上面代码的定时器就是一个异步代码,代码的执行顺序:

1. 打印1

2. 开启一个定时器

3. 打印3

4. 执行定时器里面的代码:打印2

所以最终会是 1  3  2  的结果。

之所以会是这样是因为   异步代码不等待结果,直接进行下面的代码,所以定时器只是开启了,而没有立即执行里面的

代码,等到当前运行坏境的代码执行完之后再回来执行定时器里面的代码。

总结:异步就是不等待结果的代码。


JS 引擎不能同时做两件事

异步并不是同时做两件事情

以上面的代码为例。定时器里面的代码一定会在当前环境中的任务执行完了「之后」才执行。所以并不是同时在做两件事。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,385评论 2 17
  • 欢迎阅读专门探索 JavaScript 及其构建组件的系列文章的第四章。 在识别和描述核心元素的过程中,我们还分享...
    OSC开源社区阅读 4,836评论 1 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,698评论 19 139
  • 前言:如果页面显示不完整或图片看不了还请移步:简书 SJGestureUnlock.h 常用自定义属性 @i...
    珍此良辰阅读 3,800评论 0 4
  • 其实我算的上是一个不怎么勤快的人。在这个靠着勤就可以补拙的时代里面。我断然就可以被称为是懒。所以说一直想写一些关于...
    Wxcherish阅读 819评论 0 0