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

网站改版 后台政务网站建设目标和核心功能

网站改版 后台,政务网站建设目标和核心功能,顺义城区网站建设,wordpress安装程序代码逻辑梳理: 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/160511/

相关文章:

  • ainihejian wordpress福州seo排名优化公司
  • 网站空间ipwordpress 整合ucenter
  • 网址查询地址查询seo分析及优化建议
  • 咨询工程师seo营销推广
  • 深圳网站制作运营免费招人的平台
  • dedecms网站入侵wordpress主题 建站
  • 各种颜色做网站给人的心里暗示网站游戏网站开发
  • 深圳做网站哪家好做视频网站空间要多大
  • 中国平安网站建设怎样看一个网站是哪个公司做的
  • 安徽湖滨建设集团网站江苏做电缆桥架的公司网站
  • 最好的网站建设家装报价单明细表电子版
  • 品牌网站有哪些内容云南建设投资控股集团有限公司网站
  • 在线教育网站开发软件wordpress插件 ftp
  • 门户网站的大数据应用常州网
  • 注册外贸网站有哪些问题禹城建设局网站
  • 南京做网站找哪家好网件路由器为什么都是官翻
  • 济南烨铭网站建设亚马逊雨林图片
  • 做外贸 需要做网站吗专业做能源招聘的网站
  • 网站设计与制作报价华为企业网站建设分析
  • 交友平台网站建设快飞建站
  • 电商网站开发的意义wordpress free template
  • 国外租车网站模板建信网个人证书查询
  • 江门网站建设哪家快大庆小程序开发
  • 网站建设找至尚网络上海做seo的公司
  • 郑州百度推广网站建设wordpress主题基本文件配置
  • 丰县网站建设推广朝阳市建设厅查询网站
  • 可以做高中题目的网站58找工作求职招聘
  • 印刷网站模板下载佛山设计公司排名
  • 遵义网站开发培训建网站价格 优帮云
  • 广州网页设计网站杭州 网站制作