问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js执行顺序+同步异步

发布网友 发布时间:2022-11-19 18:55

我来回答

1个回答

热心网友 时间:2024-12-11 19:57

按照js同步执行的顺序,函数调用会首先执行for循环,循环5次开启了5个延迟器,延时器内部的回调函数将会异步执行,会在延时1s后进入消息队列等待执行。循环了5次,所以此时i的值为5,然后同步执行console.log打印5,第一次同步执行结束,然后开始执行消息队列的异步任务,打印5个5,中间的undefined是函数调用无返回值返回的。

执行顺序和第一题相同,不同的是延时器被包裹在了一个立即执行函数内容,并把每一次循环的i作为参数传入,此时循环内部的函数形成了一个私有作用域,每一次的i变量被独立保存了起来,因此每一次循环的i的值都会被打印出来。

延时器内部回调函数是异步函数,将在延时结束后,进入消息队列等待执行,因此同步的console.log("CCCC")最优先执行,然后延时0ms的延时器的回调先进入消息队列,1000ms后第一个延时器的回调再进入消息队列等待执行,因此先执行0ms的回调打印DDDD,再执行1000ms的回调打印BBBB。

这里与上一题不同的是中间多了一个执行3s的同步while循环,因此执行顺序是这样的:
第一个延时器延时1s后内部异步回调函数进入消息队列等待执行,
等待while循环3s后打印"CCCC",
循环结束后第一个延时器内部的回调已经进入消息队列第一个执行位置等待执行。
第二个延时器延时0s后内部异步回调函数进入消息队列等待执行,延时结束后排到第一个延时器的回调函数后面,
因此异步队里内部先打印"BBBB",再打印"DDDD"
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么样制作个人简历 上海海事大学对外交流多麽出国会不会容易一些 上海海事大学提前批今年要几号才能出来 怎么查找大学家长群 北京慧学堂在线教育学校的老师打电话来说要交3480元钱,给孩子半年的在... 左脸颊长青春痘是什么原因? 某商店上午9:00开始营业全天营业8小时下午几点关门 (2012?泗县模拟)某商店每天10:00-18:00营业,全天营业88小时. 某商店每天9:20-18:00营业,全天营业()小时。老师早上7:30到校,下午4... 商场营业时间是上午8:00-下午6:00,一位顾客向一位老先生嗯打听时间了... 离心机g是rpm还是rcf 最值得的儿童动画片 没有行驶证可以开车吗? 怎么煮好吃的面 面如何煮好吃劲道 为什么酷狗下载的音乐剪映本地音乐没有 可乐鸡翅根的家常做法 上桌就被抢光 我激活了京东白条,我想要邀请码,怎么操作 网课线上考试,怎么让考试不作弊? 网络教育毕业需要参加什么考试 将《西江月 (夜行黄沙道中)》改变成作文 问道探案镖局风云夜行人破解答案都是什么 张飞绣花歇后语答案 让张飞绣花歇后语的答案 快递闭环是什么意思 淀粉与生粉的作用区别是什么 学生青春与奋斗主题演讲稿 微信小程序为什么我用别人的代码数据库没设置也能显示意思是没数_百... 什么的寂静? 描写傣族人美好的诗句 如果今年S12,EDG可以夺冠,能不能确保自己LPL第一豪门的地位? 我儿子是精神分裂如何申报 法医咨询关于限制民事行为能力人认定 历史高手!请讲下 1840年以来中国的社会性质变化及标志 打太极对身心健康都有什么好处 《犬夜叉》里面,奈落的眼影是什么颜色的? 如何评价犬夜叉里奈落的外貌? 动漫中灭绝人性的反派有哪些? 奈落的老爸是谁 《犬夜叉》奈落喜欢桔梗为什么要杀她? 联想a890ed多少核 中国从近代以来的时候,社会性质都发生了什么变化? 施乐cm215fw如何 请问国考书在哪儿买? 近代以后中国社会性质发生了怎样变化 感动作文和友谊作文的开头和结尾 删除了怎么找回来 微信以前删除的好友如何才能找回 前鼻韵母和后鼻韵母里的音节词有哪20个 ...前进”和“对面”四个词那些事两个字都是前鼻音韵尾的? 如果养绿豆那个豆芽红了还能活吗?