ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

异步和同步

2022-05-11 21:02:59  阅读:121  来源: 互联网

标签:异步 同步 console log 200 300 执行


同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。  

异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。 

 异步代码展示:
//异步
console.log(100)
setTimeout(() => {
    console.log(200)
},1000)
console.log(300)

效果就是,先打印100,遇到setTimeOut就先记下,1秒钟后再执行,先不管它,到时候执行再说,程序会立马向下执行,立马等于300,打印了300之后,整个的程序执行完成,然后发现异步任务中还有一个任务,就是一个函数

() => {
console.log(200)
},1000)

一秒钟之后执行,那一秒钟之后就执行刚才说的打印这个200,所以说异步是通过callback的形式去调用的。callback就是回调,就是说回调函数,这个就是回调函数。

也就是说,每个异步都需要加个回调函数,回调函数的意思就是说:我们先去执行同步任务(不是异步的任务),执行完之后,到一个时间,比如上面是触发时间1秒,我们再去执行回调函数,这就是异步。它不会阻塞后面代码的执行

同步代码展示:

//同步
console.log(100)
alert(200)
console.log(300)

它的效果就是先打印100,然后出提示框200,点击后,再打印300。

同步:在alert(200)的时候,它就卡住了,也就是像我们刚才描述的那样,如果是同步的话,它会在运行的过程中卡住,后面的程序不会执行,浏览器也不会渲染,然后js代码也不会执行,这就是同步。

标签:异步,同步,console,log,200,300,执行
来源: https://www.cnblogs.com/wutong0702/p/16259760.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有