浏览器工作原理学习(十四)

news/2024/7/8 5:06:36

WebAPI:setTimeout

  1. 浏览器中的setTimeout
  • 执行一段异步任务,需要先将任务添加到消息队列中。为了保证回调函数能在指定时间内执行,定时任务的回调函数不能直接添加到消息队列。
  • 延迟队列:维护消息队列中需要延迟执行的任务列表。
  • 如果当前任务执行时间过久会影响定时器任务的执行。
  • 如果setTimeout存在嵌套调用,那么系统会设置最短时间间隔为4毫秒,即一些实时性较高的需求就不适合使用setTimeout,例如动画。
  • 未激活的页面,setTimeout执行最小间隔是1000毫秒(目的是为了优化后台页面的加载损耗)。
  • 延迟执行时间是有最大值的,超出最大值溢出后,定时器会被立即执行。
  • setTimeout中设置回调函数中的this,this是指向全局环境对象。
  • 建议使用函数requestAnimationFrame代替setTimeout。
  1. 浏览器中的XMLHttpRequest
  • 提供了向web服务器获取数据的能力。
  • 回调函数:将一个函数作为参数传递给另外一个函数,那作为参数的这个函数就是回调函数。
  • 同步回调:回调函数在主函数返回之前执行。
  • 异步回调:回调函数没有在主函数内部调用。有2种表现形式,形式一:做成一个任务添加到消息队列尾部,形式二:添加到微任务队列中,这样就可以在当前任务的末尾处执行微任务。

http://www.niftyadmin.cn/n/2608620.html

相关文章

(牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)

假定一种编码的编码范围是a ~ y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下: a, aa, aaa,aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx,yyyy 其中a的Index为0&…

浏览器工作原理学习(十五)

微任务与宏任务 宏任务 为了协调任务在主线程上执行,页面进程引入消息队列和事件循环机制,渲染进程内部会维护多个消息队列,主线程从这些任务队列中取出任务执行,这写消息队列种的任务称为宏任务。 微任务 第一种:把…

django markdown

1. 编辑器 css 1 <link rel"stylesheet" href"{% static plugin/editor.md/css/editormd.css %}"> div 1 <div id"editormd" class"col-md-10 text-left"> 2 <textarea name&…

浏览器工作原理学习(十六)

请求陷入排队的几种情况 页面中的资源是有优先级的&#xff0c;比如CSS、HTML、JS等哦都是页面中的核心文件&#xff0c;所以优先级最高。而图片、视频、音频这类资源就不是核心资源&#xff0c;优先级就比较低&#xff0c;通常当后者遇到前者时&#xff0c;就需要让路&#x…

tidb 架构 ~Tidb学习系列(1)

一 简介:今天来研究Tidb 二 安装测试: 0 下载Tidb wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz 按如下步骤依次启动PD, TiKV, TiDB 1 启动pd 这里如果无法启动,大概率是2379端口被占用,极大可能是redis服务 nohup ./bin/pd-server --data-dirpd --lo…

在CentOS-6.9里安装openvswitch-2.5.4

第一步&#xff1a;安装依赖yum install rpm-build openssl-devel gcc wgetyum install python-devel kernel-devel kernel-debug-devel libtool第二步&#xff1a;下载包wget -O /root/rpmbuild/SOURCES/openvswitch-2.5.4.tar.gz http://openvswitch.org/releases/openvswitc…

浏览器工作原理学习(十七)

显示器是如何显示图像的 每个显示器都有固定的刷新频率&#xff0c;通常是60HZ&#xff0c;也就是每秒更新60张图片&#xff0c;更新的图片都来自于显卡中一个叫前缓冲区的地方&#xff0c;显示器就是每秒固定读取60次前缓冲区中的图像&#xff0c;并将读取的图像显示到显示器…

第八讲---mysql 5.6 order by limit 排序分页数据重复问题

2019独角兽企业重金招聘Python工程师标准>>> 前言&#xff1a; 上个月&#xff0c;部门同事发现了代码中的一个bug&#xff0c;就是在分页查询的时候使用order by limit&#xff0c;由于order by后面没有加索引&#xff0c;所以查出来的数据会出现重复的问题。这个是…