JS的事件循环机制

ops/2025/1/16 16:57:49/
<script>setTimeout(()=>{console.log('1')},1000)setTimeout(()=>{console.log('2')},3000)var start = Date.now();while ( (Date.now() - start) < 10000 ){}console.log('3')</script>

执行如下代码会发现先打印3,再打印1 再打印2。
现象本质还是因为Js是单线程执行的,永远都是先执行主线程的代码,如果遇到ajax请求,setTimeout等回调,此时会继续执行主线程代码,等异步请求的响应成功或者定时器达到时间点后,浏览器会给此线程的任务队列中push一个回调函数,线程在执行完主线程代码后会一直循环时间队列。


http://www.ppmy.cn/ops/150601.html

相关文章

【Elasticsearch】高亮搜索:从原理到Web呈现

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探…

Unity解决滑动条的value值的滑动条消失问题

在这里我们看到原本的value的滑动条消失了 解决办法 把编辑器的边框往外面拉一下就可以了&#xff08;之前遇到这个问题还重启了几次unity没想到居然是这个问题&#xff09;

八 rk3568 android11 AP6256 蓝牙调试

一 经典蓝牙 经典蓝牙默认可以工作, 验证可以连接 蓝牙鼠标,键盘, 连接手机等等, 在 系统设置里打开蓝牙 ,扫描设备,配对连接即可。 注: 连接 ANDROID 手机的坑 1 手机连接之后空闲状态会断开 ,变成 配对的设备不是已连接,是正常,使用时又会自动 连接 2 手机传…

13:00面试,13:08就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到9月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…

MySQL之DDL语言

目录 一、数据库的基本操作 1、创建数据库 语法&#xff1a; 示例&#xff1a; 2、修改数据库 语法&#xff1a; 示例&#xff1a; 3、删除数据库 语法&#xff1a; 示例&#xff1a; 4、查询数据库 语法&#xff1a; 5、使用数据库 语法&#xff1a; 二、数据表…

vue.js+websocket+mongodb实现纯粹的聊天室项目

vue.jswebsocketmongodb实现纯粹的聊天室项目&#xff01;下面的项目的构建过程和代码展示。 1&#xff1a;项目的整体结构图 chatroom/ │ ├── backend/ # 后端服务目录 │ ├── config/ # 配置文件 │ │ └…

Vue3初学之Element-plus-table组件及分页

官方网址&#xff1a;https://element-plus.org/zh-CN/component/table.html 安装 Element Plus npm install element-plus --save 引入 Element Plus 在 main.js 或 main.ts 文件中引入 Element Plus&#xff1a; import ElementPlus from ‘element-plus’; import ‘elem…

基于springboot+vue+微信小程序的宠物领养系统

基于springbootvue微信小程序的宠物领养系统 一、介绍 本项目利用SpringBoot、Vue和微信小程序技术&#xff0c;构建了一个宠物领养系统。 本系统的设计分为两个层面&#xff0c;分别为管理层面与用户层面&#xff0c;也就是管理者与用户&#xff0c;管理权限与用户权限是不…