实践:事件循环

实践:事件循环

  • 代码示例
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve('3').then(res => console.log(res));
console.log('4');

上述的代码的输出结果是什么

在这里插入图片描述

  • 1和4肯定优先输出,因为他们会立即方式堆栈的执行上下文中执行,3这个then回调函数会被放入微队列中优先处理,而计时器会放入回调队列中等待微队列执行完毕后再放入调用堆栈中执行

  • 所有回调队列中的代码是无法保证执行效率的,我们可以在用一个Promise来执行一个长时间的一个微队列

console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve('3').then(res => console.log(res));
Promise.resolve('4').then(res => {for (let i = 1; i < 100000000000; i++) {}console.log(res);
});
console.log('5');

在这里插入图片描述

  • 如果微队列需要等待很长的时间,所以对于回调队列中的函数我们无法保证它的执行效率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/500743.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】工业 4.0 下机器学习如何驱动智能制造升级

我的个人主页 我的领域&#xff1a;人工智能篇&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;&#x1f44d;点赞 收藏❤ 随着科技的飞速发展&#xff0c;工业 4.0 浪潮正席卷全球制造业&#xff0c;而机器学习作为这一变革中的关键技术&#xff0c;正以前…

自从学会Git,感觉打开了一扇新大门

“同事让我用 Git 提交代码&#xff0c;我居然直接把项目文件压缩发过去了……”相信很多初学者都经历过类似的窘境。而当你真正掌握 Git 时&#xff0c;才会发现它就像一本魔法书&#xff0c;轻松解决代码管理的种种难题。 为什么 Git 能成为程序员的标配工具&#xff1f;它究…

Mono里运行C#脚本21—mono_image_init_name_cache

前面分析了怎么样加载mscorlib.dll文件,然后把文件数据读取到内存。 接着下来,就会遇到加载整个C#的类型系统,比如System. Object,大体类型如下图所示: 在对CIL编译之前,需要把这些类型全部加载到内存里,以便快捷地访问它们。 mono_image_init_name_cache函数就是完成…

【Triton-ONNX】如何使用 ONNX 模型服务与 Triton 通信执行推理任务上-Triton快速开始

模型部署系列文章 前置-docker 理解:【 0 基础 Docker 极速入门】镜像、容器、常用命令总结前置-http/gRPC 的理解: 【HTTP和gRPC的区别】协议类型/传输效率 /性能等对比【保姆级教程附代码】Pytorch (.pth) 到 TensorRT (.plan) 模型转化全流程【保姆级教程附代码(二)】Pytor…

win32汇编环境,对话框中显示bmp图像文件

;运行效果 ;win32汇编环境&#xff0c;对话框中显示bmp图像文件 ;显示的是一张尺寸267*400的bmp位图,及一张缩小为原来三分之一的位图 ;将代码复制进radasm软件里&#xff0c;直接编译就可以运行了 ;下面为asm文件 ;>>>>>>>>>>>>>>&…

GAN对抗生成网络(二)——算法及Python实现

1 算法步骤 上一篇提到的GAN的最优化问题是&#xff0c;本文记录如何求解这一问题。 首先为了表示方便&#xff0c;记&#xff0c;这里让最大的可视作常量。 第一步&#xff0c;给定初始的&#xff0c;使用梯度上升找到 ,最大化。关于梯度下降&#xff0c;可以参考笔者另一篇…

多线程访问FFmpegFrameGrabber.start方法阻塞问题

一、背景 项目集成网络摄像头实现直播功能需要用到ffmpeg处理rtmp视频流进行web端播放 通过网上资源找到大神的springboot项目实现了rtmp视频流转为http请求进行视频中转功能&#xff0c;其底层利用javacv的FFmpegFrameGrabber进行拉流、推流&#xff0c;进而实现了视频中转。 …

X86、X64、64位、32位归纳总结

梳理一下位数区别和命名规范。 操作系统的位数决定了内存寻址空间的大小 X86_32的简称是X86。32位&#xff0c;最多只能识别4GB的内存。 X86_64的简称是X64。64位&#xff0c;最多能识别数十TB内存。 由于历史发展原因&#xff0c;形成了这样的简称&#xff0c;简称很关键。…

redis的学习(二)

4 哈希表 哈希类型中的映射关系通常称为field-value&#xff0c;⽤于区分Redis整体的键值对&#xff08;key-value&#xff09;&#xff0c; 注意这⾥的value是指field对应的值&#xff0c;不是键&#xff08;key&#xff09;对应的值&#xff0c; 4.1 操作命令 hset&#xff…

前端编码技巧与规范

当我们完成项目的构建&#xff0c;进入开发阶段的时候&#xff0c;除了你需要了解框架本身的知识点外&#xff0c;我们还需要提前掌握一些项目的编码技巧与规范&#xff0c;在根源上解决之后因编码缺陷而导致的项目维护困难、性能下降等常见问题&#xff0c;为项目多人开发提供…

谷歌广告关键词出价根据什么来判断?

投放广告的目的是为了盈利&#xff0c;而关键字的出价直接关系到广告费用的支出。因此&#xff0c;设定出价上限时&#xff0c;不仅要参考关键字规划师的建议&#xff0c;还需结合广告的盈利表现来合理判断。 可以在谷歌广告账户的后台查看“平均每次点击费用”和“每次点击的…

《我在技术交流群算命》(二):QGraphicsItem怎么写自定义信号啊(QObject多继承顺序问题)

某位群友突然无征兆的抛出以下问题&#xff1a; QGraphicsItem怎么写自定义信号啊 看到这个问题的时候我是比较疑惑的&#xff0c;按鄙人对 Qt 的了解&#xff0c;自定义信号只需: 继承QObject类中加入Q_OBJECT宏声明一个信号并使用 但该群友毕竟也不是一个Qt新手&#xff0…

filebeat采集应用程序日志和多行匹配

1 filebeat采集nginx json日志 01 修改nginx的日志为json格式 elk93节点安装nginx&#xff0c;注释掉默认的nginx日志格式&#xff1a;# access_log /var/log/nginx/access.log;&#xff0c;在下方增加以下配置。然后重启nginx log_format wzy_nginx_json {"timestamp&…

大语言模型提示技巧(二)-给模型时间思考

在与大语言模型交互的时候&#xff0c;如果模型给出了错误的结论&#xff0c;不要着急否定大模型的能力&#xff0c;我们应当尝试重新构建查询&#xff0c;请求模型在提供它的最终答案之前进行一系列相关的推理。也就是说&#xff0c;如果给模型一个在短时间或用少量文字无法完…

深入剖析MySQL数据库架构:核心组件、存储引擎与优化策略(一)

sql语句分为两大类&#xff1a;查询&#xff08;select&#xff09;、增删改----修改&#xff08;update&#xff09; select语句的执行流程 执行sql语句的流程&#xff1a;连接数据库、缓存查询、解析器、优化器、执行器、存储引擎操作数据 客户端&#xff1a;图形界面工具…

【AimRT】现代机器人通信中间件 AimRT

目录 一、什么是AimRT二、AimRT与ROS22.1 定位与设计2.2 组成与通信方式对比 三、AimRT基本概念3.1 Node、Pkg 和 Module3.2 Protocol、Channel、Rpc 和 Filter3.3 App模式 和 Pkg模式3.4 Executor3.5 Plugin 一、什么是AimRT AimRT 是智元机器人公司自主研发的一款机器人通信…

SSM-Spring-AOP

目录 1 AOP实现步骤&#xff08;以前打印当前系统的时间为例&#xff09; 2 AOP工作流程 3 AOP核心概念 4 AOP配置管理 4-1 AOP切入点表达式 4-1-1 语法格式 4-1-2 通配符 4-2 AOP通知类型 五种通知类型 AOP通知获取数据 获取参数 获取返回值 获取异常 总结 5 …

idea( 2022.3.2)打包报错总结

一 报错 class lombok.javac.apt.LombokProcessor (in unnamed module 0x4fe64d23) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing …

攻防靶场(29):目录权限和文件权限 ICMP

目录 1. 侦查 1.1 收集目标网络信息&#xff1a;IP地址 1.2 主动扫描&#xff1a;扫描IP地址段 1.3 搜索目标网站 2. 初始访问 2.1 利用面向公众的应用 3. 权限提升 3.1 有效账户&#xff1a;本地账户 3.2 滥用特权控制机制&#xff1a;Sudo和Sudo缓存 靶场下载地址&#xff1a…

C++ 面向对象编程:多态、虚函数原理

多态的通用描述便是&#xff0c;使用父类指针调用函数&#xff0c;可以根据对象类型来调用对应类型函数&#xff0c;我们分几个步骤来理解&#xff0c;先看下类的占用空间&#xff0c;然后拓展到虚函数对应数组&#xff0c;最后理解多态的原理。 我们先来看下在多态中没有任何…