一分钟简单理解同步和异步

简介: 因为js是单线程顺序向下执行的,同步指的是阻塞,通俗点讲就是你得等他执行完

因为js是单线程顺序向下执行的,同步指的是阻塞,通俗点讲就是你得等他执行完


let a=1
//这一条指的是同步,我没有使用方法,便于你理解意思,如果a=4不同步,则最后输出的应该是1
a=4
console.log(a)//4

然后我们再看异步

let a=1
//某异步方法
setTimeout(()=>{
     a=4
 },1000)
//不会等待setTimeout执行,a此时还是1
console.log(a)//1

那异步有什么用呢?

let a=1
//某异步方法
setTimeout(()=>{
     a=4
 },1000)
//用于异步修改某种值,比如异步方法可以是axios、ajax异步请求服务器上的数据
//前端页面先展示的是默认内容,请求成功之后显示服务器数据库的值用于前端渲染
setInterval(()=>{
    console.log(a)//1...1...1...4...4...4...4...4......4
},250)

异步解决方案


有时,需要处理异步带来的问题,就是数据还未改变就被调用,我们希望能够等待异步请求结束再进行数据访问。

也就是希望异步变成同步来处理,详见:js Promise与async/await用法详解

相关文章
|
JSON 前端开发 JavaScript
微前端项目难点解决(二)
微前端项目难点解决
1124 0
|
JSON API 数据格式
4. JSON字符串是如何被解析的?JsonParser了解一下(下)
4. JSON字符串是如何被解析的?JsonParser了解一下(下)
|
算法 程序员
【算法训练-二分查找 三】【特殊二分】寻找峰值
【算法训练-二分查找 三】【特殊二分】寻找峰值
145 0
|
资源调度 前端开发 定位技术
React umi地图的展示
React umi地图的展示
157 0
|
消息中间件 存储
RabbitMQ从入门到进阶(Direct exchange)
RabbitMQ从入门到进阶(Direct exchange)
403 0
|
机器学习/深度学习 程序员 API
使用这些方法让你的 Python 并发任务执行得更好
使用这些方法让你的 Python 并发任务执行得更好
|
Ubuntu NoSQL 应用服务中间件
Docker 镜像构建
Docker 镜像构建 DockerFile 的编写
|
存储 算法
数据结构刷题:第七天
具体地,我们可以使用哈希表来存储所有已经访问过的节点。每次我们到达一个节点,如果该节点已经存在于哈希表中,则说明该链表是环形链表,否则就将该节点加入哈希表中。重复这一过程,直到我们遍历完整个链表即可。
205 0
数据结构刷题:第七天
|
Java Linux 网络安全
Linux阿里云/腾讯云/百度云服务器安装部署ElasticSearch
Linux阿里云/腾讯云/百度云服务器安装部署ElasticSearch
469 0
|
前端开发
CSS——正方体360°旋转动画 效果
正方体360°旋转动画 效果
279 0