当前位置: 首页 > news >正文

做购物网站手机表白网站在线制作

做购物网站,手机表白网站在线制作,ui网页设计培训学校,做一个网站需要服务器吗代码逻辑梳理: callbacks 数组用于存储待执行的回调函数,waiting 变量用于标记是否有待执行的回调函数。 flushCallbacks 函数用于执行所有存储在 callbacks 数组中的回调函数,并在执行完成后将 waiting 设置为 false。 timer 函数根据环境…

代码逻辑梳理:

  • callbacks 数组用于存储待执行的回调函数,waiting 变量用于标记是否有待执行的回调函数。

  • flushCallbacks 函数用于执行所有存储在 callbacks 数组中的回调函数,并在执行完成后将 waiting 设置为 false。

  • timer 函数根据环境选择合适的定时器来执行回调函数。优先选择 Promise 的微任务执行,如果不支持则尝试使用 MutationObserver,其次是 setImmediate,最后是默认的 setTimeout。

  • nextTick 函数用于将回调函数加入待执行队列,并触发执行。如果当前没有待执行的回调函数,则调用 timer 函数来触发执行,并标记有待执行的回调函数。

整体流程是将回调函数加入队列,通过选择合适的定时器来异步执行这些回调函数,保证它们在下一个微任务或宏任务中被执行

let callbacks = [] // 存储待执行的回调函数
let waiting = false // 标记是否有待执行的回调函数// 执行所有待执行的回调函数
function flushCallbacks() {callbacks.forEach((cb) => cb()) // 依次执行回调函数waiting = false // 标记执行完成
}// 根据环境选择合适的定时器执行回调函数
function timer(flushCallbacks) {let timerFn = () => {} // 默认空函数// 使用 Promiseif (typeof Promise !== 'undefined') {timerFn = () => {Promise.resolve().then(flushCallbacks) // 在微任务中执行回调函数}} else if (typeof MutationObserver !== 'undefined') { // 使用 MutationObserverlet textNode = document.createTextNode(1)let observe = new MutationObserver(flushCallbacks)observe.observe(textNode, {characterData: true})timerFn = () => {textNode.textContent = 3}} else if (typeof setImmediate !== 'undefined') { // 使用 setImmediatetimerFn = () => {setImmediate(flushCallbacks)}} else { // 默认使用 setTimeouttimerFn = () => {setTimeout(flushCallbacks, 0)}}timerFn()
}// 将回调函数加入待执行队列,并触发执行
function nextTick(cb) {callbacks.push(cb) // 将回调函数加入队列if (!waiting) {timer(flushCallbacks) // 触发执行回调函数waiting = true // 标记有待执行的回调函数}
}
http://www.yayakq.cn/news/61160/

相关文章:

  • 酒店网站开发协议wordpress免费主题排行榜
  • 地址一地址二在线发布页百度seo关键词
  • 我们网站的优势网站开发外包费用
  • 外贸网站怎么规划汕头h5建站模板
  • 景德镇网站建设哪家好温州软件开发
  • 惠州建设集团网站做招聘网站代理商需要多少钱
  • 旅游网站设计与建设论文如何做响应式布局网站
  • 正规手机网站建设平台桂林软件开发
  • 社区微网站建设方案ppt模板下载成都企业网站建设
  • 上海网站建设 网页制作wordpress画廊插件
  • 葫芦岛做网站的公司商业推广怎么做
  • 上海医疗网站建设做商业网站去哪里弄好
  • 网站建设全程揭秘pdf重庆网站维护公司
  • 郑州网站优化公司江西省城乡建设培训中心网站
  • 亳州建设网站做软装设计找图有什么好的网站
  • 土地流转网站建设报告医疗网站设计方案
  • 广州网站建设制作的公司html5模板免费下载
  • 苏州专业高端网站建设企业wordpress 卡盟模板
  • 北京电商平台网站建设盐城营销网站建设
  • 宁波市建设工程造价信息seo视频网页入口网站推广
  • 网站功能方案优秀定制网站建设方案
  • 深圳凌 网站开发网站建设介绍
  • 哪里网站海报做的比较好WordPress20w文章
  • 网站内页一般多久收录历史看过的网站
  • 西安网站建设托管杭州职称评审系统网站
  • 用ps做网站页面的大小html做一个简单的网页
  • 邢台企业做网站费用数据库wordpress搬家
  • 网站制作 福宁网络有限公司app程序开发用什么编程
  • 安徽 网站信息内容建设上海做网站及推广
  • 网站设计东莞wordpress滑动相册