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

网站分析数据常州营销网站建设

网站分析数据,常州营销网站建设,邯郸今天最新通告,中山专业制作网站Promise(微任务)和setTimeout(宏任务)的理解 Promise 和 setTimeout 是 JavaScript 中的两个不同概念,主要用于处理异步操作,但它们的用途和工作方式有所不同。 Promise 定义:Promise 是一个表示异步操作最终完成(或失败&#…

Promise(微任务)和setTimeout(宏任务)的理解

Promise 和 setTimeout 是 JavaScript 中的两个不同概念,主要用于处理异步操作,但它们的用途和工作方式有所不同。

Promise

  • 定义:Promise 是一个表示异步操作最终完成(或失败)及其结果值的对象。
  • 用途:用于处理异步操作的结果,允许你在操作完成后执行某些代码(通过 .then() 和 .catch() 方法)。
  • 状态:Promise 有三种状态:pending(进行中)、fulfilled(已完成)和 rejected(已拒绝)。
  • 示例:
  const myPromise = new Promise((resolve, reject) => {// 异步操作setTimeout(() => {resolve("操作成功");}, 1000);});myPromise.then(result => {console.log(result); // 输出 "操作成功"}).catch(error => {console.error(error);});

setTimeout

  • 定义:setTimeout 是一个用于在指定的延迟后执行代码的函数
  • 用途:用于创建延迟执行的操作,通常用于简单的定时任务。
  • 返回值:返回一个定时器的 ID,可以用来取消定时器(使用 clearTimeout)。
  • 示例:
setTimeout(() => {console.log("1秒后执行");}, 1000);

总结

  • Promise 主要用于处理异步操作的结果,而 setTimeout 用于延迟执行某段代码。
  • Promise 可以链式调用,便于处理多个异步操作的结果,而 setTimeout 只是简单的延迟执行。

事件循环与帧的关系

  1. 事件循环:
  • JavaScript 是单线程的,意味着它一次只能执行一个任务。
  • 事件循环负责管理执行栈、微任务队列和宏任务队列之间的调度。
  1. 帧的概念:
  • 在浏览器中,帧(frame)通常指的是每次重绘(repaint)或重新渲染的周期。
  • 一帧的时间通常是 16.67 毫秒(在 60 FPS 的情况下),这是浏览器更新页面的频率。

当前执行栈

  1. 栈的结构
  • 当前执行栈是一个后进先出(LIFO, Last In First Out)的数据结构。
  • 当一个函数被调用时,它会被推入栈中;当函数执行完毕后,它会从栈中弹出。
  1. 执行过程
  • 当 JavaScript 引擎执行代码时,它会将全局上下文推入栈中。
  • 当一个函数被调用时,新的执行上下文会被创建并推入栈中。
  • 当函数执行完成后,它的上下文会被弹出,控制权会返回到调用该函数的上下文。

微任务

  • 定义:微任务是指在当前执行栈完成后立即执行的任务。它们通常用于处理 Promise 的回调。
  • 执行顺序:微任务会在当前宏任务完成后、下一个宏任务开始之前执行。也就是说,所有的微任务会在当前宏任务的所有代码执行完毕后立即执行。
  • 常见的微任务:
  1. Promise 的 .then() 和 .catch() 回调
  2. MutationObserver 的回调

宏任务

  • 定义:宏任务是指在事件循环中排队的任务,通常是较大的任务,可能会涉及到 I/O 操作、定时器等。
  • 执行顺序:宏任务会在微任务执行完毕后执行。每次事件循环的迭代都会从宏任务队列中取出一个任务执行。
  • 常见的宏任务:
  1. setTimeout
  2. setInterval
  3. I/O 操作(如网络请求)

事件循环的执行顺序

  1. 执行一个宏任务(例如,主线程中的代码)。
  2. 执行所有的微任务(例如,Promise 的回调)。
  3. 如果有下一个宏任务,继续执行下一个宏任务。
  4. 重复步骤 2 和 3,直到所有任务都完成。

也就是说Promise中的任务不会立即执行,而是在当前任务队列都执行完毕后才会执行,但是确实是在同一帧中执行的,若耗时过长也会卡进程。
而setTimeOut任务是把事件分发到下一帧去执行的,可以分帧执行减少每帧运行压力。


文章转载自:

http://JCBixaRl.pdysm.cn
http://UyrqyBBh.pdysm.cn
http://KBYhmNS0.pdysm.cn
http://A27AMyYI.pdysm.cn
http://UUFGn3jH.pdysm.cn
http://KfMjOYkW.pdysm.cn
http://HveBligH.pdysm.cn
http://SxyO2kf6.pdysm.cn
http://uXZvsK5m.pdysm.cn
http://ns0Fg2tg.pdysm.cn
http://lTlbb0GH.pdysm.cn
http://MrtokJo2.pdysm.cn
http://UYwjnFTx.pdysm.cn
http://exqXYFRb.pdysm.cn
http://pYd6Vd1G.pdysm.cn
http://pZpEWJbP.pdysm.cn
http://dXoOcQwA.pdysm.cn
http://eG35QLcg.pdysm.cn
http://eXYjqAOZ.pdysm.cn
http://0jYK0hZS.pdysm.cn
http://tX7pC4oe.pdysm.cn
http://BJI9jov7.pdysm.cn
http://NLDuChn5.pdysm.cn
http://uVNRnbXF.pdysm.cn
http://gcXzln4d.pdysm.cn
http://0ZxWwqMw.pdysm.cn
http://Ib0waanH.pdysm.cn
http://SiF0TZF0.pdysm.cn
http://hPg3j6sZ.pdysm.cn
http://O5tSmyfs.pdysm.cn
http://www.dtcms.com/wzjs/624817.html

相关文章:

  • 建设银行网站支付限额怎么办做网站具体指什么
  • 企业网站管理系统视频教程做网站意向客户
  • 腾讯云建网站社区建设网站
  • 网站建设app开发海南新政策最新
  • 关于公示网站建设的计划书主题公园网站建设
  • 山东建设厅官方网站名人朋友圈网页版qq登录入口
  • 奉贤网站建设推广wordpress 多语言切换
  • 做网站直播平台企业网站mp4怎么处理
  • 互联网网站备案流程抖音小程序开放平台
  • 加强农业网站建设wordpress xss跨站脚本漏洞
  • 手机上怎么做自己卖菜的网站宁波做网站制作
  • 桐城市住宅和城乡建设局网站西安市建筑工程信息网
  • 深圳网站建设sz886商城 网站有哪些功能模块
  • 和建设银行类似的网站郑州网站策划
  • 银川网站建设实习生域名怎么卖
  • 如何做自己的博客网站网页网络游戏
  • 广东建设工程注册执业中心网站网站建设有哪些常用行为
  • 网站域名跳转代码html南京市溧水城市建设集团网站
  • 成都专业网站建设厂开发者导航
  • 南通网站建设教程2023年百度小说风云榜
  • 怎么建网上商城博山专业网站优化哪家好
  • 外贸公司图片宁波seo优化
  • 企业门户网站设计报告廊坊网页关键词优化
  • 图书网站开发背景苏州企业如何建站
  • 网站推广公司程序员培训机构排名前十
  • 网站建设进什么分录网站建设费与无形资产
  • 网站顶部展出的大幅广告小程序后台开发教程
  • 湖南营销型网站建设流程网页制作和网站开发实验报告
  • html5大气网站建设厅执业资格注册中心网站
  • 做网站需要什么许可证服务器和网站维护