Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
事件循环的每个阶段具体做了哪些事情?_创想鸟

事件循环的每个阶段具体做了哪些事情?

事件循环通过定时器、待定回调、轮询、检查、关闭回调五个阶段有序执行任务,确保异步非阻塞;2. 宏任务(如settimeout)按阶段执行,微任务(如promise、process.nexttick)在每个宏任务后优先清空;3. settimeout(fn, 0)不立即执行因需等当前阶段完成且受最小延迟限制;4. node.js有明确阶段划分和setimmediate/process.nexttick,浏览器更关注渲染与用户交互,两者微任务机制一致但宏任务来源不同。

事件循环的每个阶段具体做了哪些事情?

事件循环是JavaScript处理异步任务的幕后英雄,它通过一系列有序的阶段,确保代码非阻塞运行,同时协调I/O、定时器和事件回调的执行。简单来说,它就像一个永不停歇的指挥官,不断检查是否有任务需要执行,并按照严格的优先级和流程来调度它们。

事件循环的每个阶段具体做了哪些事情?

解决方案

要理解事件循环的每个阶段具体做了什么,我们通常以Node.js的环境为例,因为它对事件循环的阶段划分最为清晰和明确。我个人觉得,当你真正弄懂了这些阶段,很多看似“奇怪”的异步行为就变得顺理成章了。

事件循环大致可以分为以下几个核心阶段,它们会循环往复地执行:

事件循环的每个阶段具体做了哪些事情?定时器(timers)阶段: 这个阶段主要处理 setTimeout() 和 setInterval() 设定的回调函数。当事件循环进入这个阶段时,它会检查是否有定时器到期,然后执行它们的回调。说实话,很多人以为 setTimeout(fn, 0) 会立刻执行,但它只是“尽快”执行,具体时机还要看事件循环走到哪了,以及前面有没有其他任务。待定回调(pending callbacks)阶段: 这个阶段会执行一些系统操作的回调,比如TCP错误等。这些回调通常是上一个循环中因为某些原因被延迟到当前循环执行的I/O操作回调。空闲、准备(idle, prepare)阶段: 这是Node.js内部使用的阶段,通常不涉及用户代码,可以理解为是事件循环内部的一些准备工作。轮询(poll)阶段: 这是事件循环中一个非常关键的阶段,也是我个人觉得最“忙碌”的阶段。它首先会检查是否有新的I/O事件(例如文件读写完成、网络请求响应等)。如果有,它会执行对应的回调函数。如果当前没有I/O事件,它会检查 setImmediate() 设定的回调函数队列。如果队列里有任务,它会立即跳转到 check 阶段去执行它们。如果 setImmediate() 队列也空了,那么事件循环可能会在这里等待新的I/O事件到来。当然,如果定时器已经到期,它也会直接跳回 timers 阶段去处理。检查(check)阶段: 这个阶段专门用来执行 setImmediate() 设置的回调函数。我经常看到有人疑惑 setTimeout(fn, 0) 和 setImmediate(fn) 的执行顺序,理解了这个阶段,答案就清晰了:setImmediate 优先级通常在I/O回调之后,但在下一个事件循环的定时器之前。关闭回调(close callbacks)阶段: 这个阶段会执行一些关闭事件的回调,比如 socket.on('close', ...) 这样的回调。当一个句柄或资源被关闭时,相应的回调会在这里执行。

值得一提的是,在每个阶段的间隙,以及一个宏任务(比如一个定时器回调或一个I/O回调)执行完毕后,微任务队列(Microtask Queue)会被清空。这包括 process.nextTick() 和 Promise 的回调。process.nextTick 优先级极高,它几乎是在当前代码执行完后,立即在当前阶段内执行,甚至比Promise回调还要早。

微任务与宏任务:它们在事件循环中扮演了怎样的角色?

微任务和宏任务是理解事件循环优先级绕不开的两个概念,它们就像事件循环的左右手,共同协作。说实话,刚开始接触时,我常常把它们混淆,但一旦你掌握了它们的执行时机,很多异步代码的输出就变得可预测了。

事件循环的每个阶段具体做了哪些事情?

宏任务(Macrotasks),或者更准确地说是“任务”,是事件循环的每次迭代中执行的主要工作单元。它们包括:

setTimeout() 和 setInterval() 的回调I/O 操作的回调(例如文件读写、网络请求)setImmediate() 的回调(Node.js特有)UI渲染事件(浏览器特有)

每次事件循环的一个阶段完成,或者一个宏任务执行完毕后,事件循环会检查并清空微任务队列。

微任务(Microtasks) 则是更细粒度的任务,它们具有更高的优先级。在当前宏任务执行完毕后,以及下一个宏任务开始之前,所有待执行的微任务都会被清空。这意味着,即使你设置了一个 setTimeout(0),如果前面有一个Promise回调,Promise回调也会先于 setTimeout(0) 执行。常见的微任务包括:

Promise.then(), Promise.catch(), Promise.finally() 的回调process.nextTick() 的回调(Node.js特有,优先级甚至高于Promise)MutationObserver 的回调(浏览器特有)

它们的关系是这样的:事件循环会取出一个宏任务执行。当这个宏任务执行完毕后,不是立即开始下一个宏任务,而是会暂停,去检查并清空所有的微任务队列。只有当微任务队列被彻底清空后,事件循环才会继续下一个宏任务,或者进入下一个阶段。这种机制确保了微任务能够更快地响应,因为它插队在宏任务之间。我个人觉得,这种设计非常精妙,它让一些需要即时响应但又不希望阻塞主线程的操作得以实现。

为什么setTimeout(fn, 0)不总是立即执行?

这是一个经典问题,也是很多初学者容易被“零延迟”这个词误导的地方。当你写下 setTimeout(fn, 0) 时,你的本意可能是希望 fn 能够“立刻”执行,但实际上,它只是将 fn 推入到定时器队列中,并告诉事件循环:“嘿,这个函数可以等0毫秒后执行了。”至于它什么时候真正被执行,那就得看事件循环的脸色了。

原因在于:

事件循环的阶段性: setTimeout 的回调是在事件循环的 timers 阶段处理的。在进入 timers 阶段之前,事件循环可能还在处理 pending callbacks 阶段,或者正在 poll 阶段等待I/O事件。如果这些阶段有任务,或者主线程有同步代码正在执行,那么 setTimeout(0) 的回调就必须等待。最小延迟保证: 即使设置了0毫秒,浏览器和Node.js通常也有一个最小的延迟时间(比如4毫秒),这主要是为了节约系统资源,防止过于频繁的定时器调度。所以,0毫秒实际上可能变成4毫秒。微任务的优先级: 即使定时器到期了,如果当前正在执行的宏任务产生了微任务(比如一个Promise),那么这些微任务会先于下一个宏任务(包括 setTimeout 回调)执行。这进一步推迟了 setTimeout(0) 的实际执行时间。

举个例子,如果你有一段很长的同步计算代码,或者一个耗时的I/O操作正在进行,setTimeout(0) 的回调就得等它们全部完成,并且事件循环走到 timers 阶段时才能被执行。它不像 process.nextTick 那样,几乎是紧接着当前代码执行,而是要排队等候。所以,用“尽快”来描述 setTimeout(0) 的执行时机,比“立即”要准确得多。

Node.js与浏览器环境下的事件循环有何异同?

虽然都是基于事件循环来处理异步,但Node.js和浏览器环境下的事件循环在实现细节和侧重点上存在一些显著的差异,这主要源于它们各自的应用场景和核心需求。我个人觉得,理解这些异同,能让你更深刻地把握JavaScript在不同环境下的行为模式。

相似之处:

单线程执行JS: 两者都保持JavaScript代码在主线程上单线程执行,避免了多线程带来的复杂性。异步非阻塞: 都通过事件循环机制实现异步非阻塞I/O,确保长时间运行的操作不会阻塞主线程。微任务队列: 都支持微任务队列(如Promise回调),并且微任务的优先级高于宏任务,会在当前宏任务执行完毕后立即清空。

不同之处:

阶段划分:Node.js: 具有明确的、细致的阶段划分(timers, pending callbacks, poll, check, close callbacks),这些阶段由底层的 libuv 库实现,专注于高效的I/O操作。浏览器: 通常没有Node.js那样明确的阶段概念,更多地被描述为“任务队列”(macrotask queue)和“微任务队列”(microtask queue)。浏览器环境的事件循环更关注UI渲染、用户交互、网络请求等,其任务源更为多样。特定API:Node.js: 拥有 process.nextTick()(优先级极高的微任务)和 setImmediate()(在 check 阶段执行的宏任务),这些API是Node.js特有的。浏览器: 拥有 requestAnimationFrame()(用于优化动画和渲染)、requestIdleCallback()(在浏览器空闲时执行任务)、MutationObserver(用于监听DOM变化,作为微任务)等API,这些是浏览器环境独有的,服务于前端交互和性能优化。I/O模型:Node.js: 核心是基于 libuv 库实现的异步I/O模型,它将底层系统调用抽象化,并与事件循环紧密集成,以处理文件系统、网络等操作。浏览器: 内部的I/O模型更复杂,涉及到网络请求(XMLHttpRequest, Fetch API)、DOM事件、Web Workers等,这些操作的回调也会被推入任务队列。

总的来说,Node.js的事件循环更偏向于服务器端的I/O密集型任务处理,其阶段设计是为了最大化I/O效率;而浏览器的事件循环则更侧重于用户界面的响应性和渲染性能。尽管底层实现有所差异,但它们都殊途同归,旨在提供一个高效、非阻塞的异步编程模型。

以上就是事件循环的每个阶段具体做了哪些事情?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1512336.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Prisma 查询未返回 Schema 中指定的数组:解决方案与最佳实践
上一篇 2025年12月20日 07:04:16
javascript闭包怎样实现装饰器模式
下一篇 2025年12月20日 07:04:26

相关推荐

  • Chrome浏览器怎么禁止图片和视频自动加载_网页媒体内容自动加载禁用教程

    Chrome浏览器怎么禁止图片和视频自动加载_网页媒体内容自动加载禁用教程Chrome浏览器怎么禁止图片和视频自动加载_网页媒体内容自动加载禁用教程Chrome浏览器怎么禁止图片和视频自动加载_网页媒体内容自动加载禁用教程Chrome浏览器怎么禁止图片和视频自动加载_网页媒体内容自动加载禁用教程

    可通过设置阻止Chrome自动加载媒体。①针对特定网站:点击地址栏锁形图标→网站设置→将“自动播放”设为不允许;②全局禁用:进入chrome://settings/content→自动播放→设为默认不允许;③使用扩展如uBlock Origin拦截媒体加载;④启用Lite模式以节省数据并延迟媒体加载…

    2026年9月25日 • 用户投稿
    300
  • uc浏览器怎么看小说没有广告_UC浏览器小说模式去广告阅读技巧

    uc浏览器怎么看小说没有广告_UC浏览器小说模式去广告阅读技巧uc浏览器怎么看小说没有广告_UC浏览器小说模式去广告阅读技巧uc浏览器怎么看小说没有广告_UC浏览器小说模式去广告阅读技巧uc浏览器怎么看小说没有广告_UC浏览器小说模式去广告阅读技巧

    开启UC浏览器阅读模式可屏蔽小说广告,点击书本图标进入纯净界面;使用去广告定制版能彻底杜绝广告加载;启用内置广告拦截功能,开启“智能拦截”开关,有效过滤弹窗与诱导内容。 如果您在UC浏览器中阅读小说时频繁遭遇广告弹窗,导致阅读体验中断,可以通过浏览器内置的特定功能来屏蔽干扰。这些功能能有效过滤网页中…

    2026年9月25日 • 用户投稿
    100
  • qq浏览器怎么设置网页编码 QQ浏览器网页乱码与编码格式调整方法

    qq浏览器怎么设置网页编码 QQ浏览器网页乱码与编码格式调整方法qq浏览器怎么设置网页编码 QQ浏览器网页乱码与编码格式调整方法qq浏览器怎么设置网页编码 QQ浏览器网页乱码与编码格式调整方法qq浏览器怎么设置网页编码 QQ浏览器网页乱码与编码格式调整方法

    首先尝试手动切换网页编码格式,点击QQ浏览器右上角菜单,选择“编码”后依次尝试GBK、GB2312或UTF-8;若需长期解决,可在设置中进入高级选项,将默认编码设为GBK;此外,部分版本支持在页面空白处右键直接更改编码,提升操作效率。 如果您在使用QQ浏览器访问某些网页时出现乱码问题,可能是由于浏览…

    2026年9月25日 • 用户投稿
    000
  • qq浏览器提示Flash版本过低怎么办 QQ浏览器Flash插件过时问题解决方案

    qq浏览器提示Flash版本过低怎么办 QQ浏览器Flash插件过时问题解决方案qq浏览器提示Flash版本过低怎么办 QQ浏览器Flash插件过时问题解决方案qq浏览器提示Flash版本过低怎么办 QQ浏览器Flash插件过时问题解决方案qq浏览器提示Flash版本过低怎么办 QQ浏览器Flash插件过时问题解决方案

    优先通过QQ浏览器内置插件更新Flash,依次检查设置、使用修复工具、排除安全软件干扰,必要时在可信环境手动安装最新版Flash Player并及时卸载以确保安全。 如果您在使用QQ浏览器访问依赖Flash内容的网页时,收到“Flash版本过低”或插件过时的提示,这通常是因为浏览器内置的Flash插…

    2026年9月25日 • 用户投稿
    200
  • 夸克网盘怎么创建文件夹_夸克网盘新建文件夹操作步骤

    夸克网盘怎么创建文件夹_夸克网盘新建文件夹操作步骤夸克网盘怎么创建文件夹_夸克网盘新建文件夹操作步骤夸克网盘怎么创建文件夹_夸克网盘新建文件夹操作步骤夸克网盘怎么创建文件夹_夸克网盘新建文件夹操作步骤

    1、可通过网页端、手机App或文件管理路径创建文件夹。网页端登录后点击新建选择文件夹并命名;手机App在网盘页面点击+号选择新建文件夹并命名;进入目标父目录后可创建子文件夹实现层级管理。 如果您希望在夸克网盘中更好地管理文件,创建新的文件夹是实现分类存储的重要操作。通过建立不同用途的文件夹,您可以快…

    2026年9月25日 • 用户投稿
    000
  • 分页报表制作技巧

    在数据量较大的情况下,直接通过报表展示所有信息会导致内容过于密集,影响阅读和分析效率,因此通常需要制作分页报表以提升用户体验。下面将详细介绍如何利用finereport报表工具实现分页报表的创建。 1、 数据准备 2、 新建一个报表模板,在数据集管理面板中新增数据库查询,选择系统内置的FRDemo数…

    2026年9月25日
    000
  • 360极速浏览器怎么开启或关闭多窗口模式_多窗口模式启用与禁用设置方法

    360极速浏览器怎么开启或关闭多窗口模式_多窗口模式启用与禁用设置方法360极速浏览器怎么开启或关闭多窗口模式_多窗口模式启用与禁用设置方法360极速浏览器怎么开启或关闭多窗口模式_多窗口模式启用与禁用设置方法360极速浏览器怎么开启或关闭多窗口模式_多窗口模式启用与禁用设置方法

    1、可通过菜单切换IE多窗口模式,点击“切换到IE6多窗口模式”启用,拖拽标签可分离为独立窗口,再次切换回默认模式即可关闭;2、直接拖拽标签页出当前窗口可创建新窗口,反向操作可合并;3、使用Ctrl+N快捷键新建浏览器实例实现多窗口,关闭多余窗口即可退出多窗口模式。 如果您希望在使用360极速浏览器…

    2026年9月25日 • 用户投稿
    200
  • FineReport与.NET集成要点

    FineReport与.NET集成要点FineReport与.NET集成要点FineReport与.NET集成要点FineReport与.NET集成要点

    1、FineReport(FR)与.NET项目的集成主要涵盖三个核心部分,如上图所示。 2、报表发布是集成过程中的关键步骤之一。 3、需要注意的是,FR报表工程本质上是基于Java的Servlet应用,无法由IIS直接解析处理,因此必须将其部署在支持Servlet规范的Web应用服务器(如Tomca…

    2026年9月25日 • 用户投稿
    200
  • 如何在微服务之间共享静态数据?

    如何在微服务之间共享静态数据?如何在微服务之间共享静态数据?如何在微服务之间共享静态数据?如何在微服务之间共享静态数据?

    在微服务架构中,各个服务都是独立的部署单元,拥有各自的内存空间。如同上述摘要所述,直接通过静态变量在不同的微服务之间共享数据是不可能的。 试图在一个微服务中设置静态变量的值,然后在另一个微服务中访问它,将会得到 null 或初始值,而不是之前设置的值。 这不是 Spring Boot 特有的问题,而…

    2026年9月25日 • 用户投稿
    100
  • vivo浏览器怎么把网页添加到主屏幕_vivo浏览器将网站快捷方式添加至手机桌面

    vivo浏览器怎么把网页添加到主屏幕_vivo浏览器将网站快捷方式添加至手机桌面vivo浏览器怎么把网页添加到主屏幕_vivo浏览器将网站快捷方式添加至手机桌面vivo浏览器怎么把网页添加到主屏幕_vivo浏览器将网站快捷方式添加至手机桌面vivo浏览器怎么把网页添加到主屏幕_vivo浏览器将网站快捷方式添加至手机桌面

    首先通过vivo浏览器菜单添加网页快捷方式,进入目标网页后点击右上角三点,选择“添加到桌面”并确认;其次可长按地址栏附近的收藏图标快速添加;最后若已收藏网页,可从收藏夹长按条目重新添加至桌面。 如果您希望快速访问某个常用网站,可以通过vivo浏览器将其添加到手机主屏幕,从而像使用应用程序一样直接打开…

    2026年9月25日 • 用户投稿
    900
  • qq浏览器如何彻底卸载干净 QQ浏览器彻底卸载与残留清理方法

    qq浏览器如何彻底卸载干净 QQ浏览器彻底卸载与残留清理方法qq浏览器如何彻底卸载干净 QQ浏览器彻底卸载与残留清理方法qq浏览器如何彻底卸载干净 QQ浏览器彻底卸载与残留清理方法qq浏览器如何彻底卸载干净 QQ浏览器彻底卸载与残留清理方法

    1、通过系统设置卸载QQ浏览器主程序;2、使用腾讯柠檬等清理工具扫描并清除残留文件;3、手动检查Android/data/com.tencent.mtt/等路径删除遗留数据。 如果您在卸载QQ浏览器后发现仍有文件或数据残留,可能是因为标准卸载流程未能清除所有相关项。以下是几种彻底移除QQ浏览器及其残…

    2026年9月25日 • 用户投稿
    900
  • 如何在搜狗浏览器中调整字体大小?自定义字体的操作

    如何在搜狗浏览器中调整字体大小?自定义字体的操作如何在搜狗浏览器中调整字体大小?自定义字体的操作如何在搜狗浏览器中调整字体大小?自定义字体的操作如何在搜狗浏览器中调整字体大小?自定义字体的操作

    如果您在使用搜狗浏览器时觉得网页文字过小或过大,影响阅读体验,可以通过内置的字体设置功能进行调整。以下是几种不同的方法来修改搜狗浏览器中的字体大小。 一、通过设置菜单调整字体大小 此方法通过浏览器的系统设置入口直接修改默认字体大小,适用于所有网页的全局调整。 1、打开搜狗浏览器应用,点击屏幕右下角的…

    2026年9月25日 • 用户投稿
    900
  • VSCode怎样用调试启动参数自定义运行时环境变量 VSCode启动参数自定义环境变量的创新用法​

    vscode允许通过launch.json中的”env”属性直接设置环境变量,或使用”envfile”指定.env文件来加载变量。1. 直接在launch.json中定义”env”属性可为调试会话注入键值对形式的环境变量,适用于…

    2026年9月25日
    300
  • x浏览器怎么开启或关闭多线程下载_x浏览器下载管理器多线程设置

    x浏览器怎么开启或关闭多线程下载_x浏览器下载管理器多线程设置x浏览器怎么开启或关闭多线程下载_x浏览器下载管理器多线程设置x浏览器怎么开启或关闭多线程下载_x浏览器下载管理器多线程设置x浏览器怎么开启或关闭多线程下载_x浏览器下载管理器多线程设置

    答案:可通过调整x浏览器多线程设置提升下载速度。依次进入设置→下载管理器→多线程下载,选择合适线程数以平衡速度与稳定性,关闭则设为1或关闭选项。 如果您在使用x浏览器下载文件时发现速度较慢或希望提升下载效率,可以通过调整多线程下载设置来优化下载性能。多线程下载能够将文件分割成多个部分并行下载,从而加…

    2026年9月25日 • 用户投稿
    000
  • 【新手入门】使用ERNIE-4.5-0.3B-Paddle从原始文本构建知识图谱

    1. 概述 本文将探讨如何使用ernie-4.5-0.3b-paddle模型从原始文本构建知识图谱。通过结合大语言模型(llm)和检索增强生成(rag)技术实现文本生成,帮助我们从非结构化数据中高效提取实体和关系信息。 2. 什么是知识图谱? 2.1 基本概念 知识图谱是一种语义网络,它表示和连接现…

    2026年9月25日
    100
  • 谷歌浏览器开发者工具网络面板数据延迟如何修复

    谷歌浏览器开发者工具网络面板数据延迟如何修复谷歌浏览器开发者工具网络面板数据延迟如何修复谷歌浏览器开发者工具网络面板数据延迟如何修复谷歌浏览器开发者工具网络面板数据延迟如何修复

    延迟通常由网络环境、浏览器状态或页面性能导致。先通过Waterfall分析DNS、TCP等阶段耗时,确认是否真实延迟;更换网络或设备对比速度;清除缓存、禁用缓存或使用无痕模式排除干扰;检查代理设置并切换为公共DNS;最后结合Performance面板排查脚本阻塞与资源瓶颈。 Chrome开发者工具网…

    2026年9月25日 • 用户投稿
    900
  • 为什么有些硬件参数在官方宣传中总是模糊不清?

    为什么有些硬件参数在官方宣传中总是模糊不清?为什么有些硬件参数在官方宣传中总是模糊不清?为什么有些硬件参数在官方宣传中总是模糊不清?为什么有些硬件参数在官方宣传中总是模糊不清?

    厂商模糊硬件参数主要出于制造差异、竞争策略和营销灵活性。半导体生产存在体质差异,通过“binning”分级后需用“最高可达”等表述覆盖全合格品,避免售后风险;同时防止竞争对手轻易获取技术细节,保持领先优势;还能为后续优化留空间,适应市场变化。此外,复杂参数不易被大众理解,模糊化有助于简化宣传。面对此…

    2026年9月25日 • 用户投稿
    300
  • 教你电脑安全证书过期的解决方法

    教你电脑安全证书过期的解决方法教你电脑安全证书过期的解决方法教你电脑安全证书过期的解决方法教你电脑安全证书过期的解决方法

    我们在使用计算机时,常常会遇到安全证书过期的提示,相信不少用户都曾碰到过这类问题。如果你已经确认本地的日期和时间设置无误,那么可以通过重新安装该网站的证书来解决此问题。接下来,就由黑鲨小编为大家详细介绍具体的解决步骤,一起来了解下吧! 1、按下 Win + R 键打开“运行”窗口,输入:mmc,然后…

    2026年9月25日 • 用户投稿
    600
  • vivo浏览器如何彻底删除浏览数据_vivo浏览器完全清除个人浏览数据指南

    vivo浏览器如何彻底删除浏览数据_vivo浏览器完全清除个人浏览数据指南vivo浏览器如何彻底删除浏览数据_vivo浏览器完全清除个人浏览数据指南vivo浏览器如何彻底删除浏览数据_vivo浏览器完全清除个人浏览数据指南vivo浏览器如何彻底删除浏览数据_vivo浏览器完全清除个人浏览数据指南

    首先清除浏览器缓存与历史记录,进入“我的”-“设置”-“清除浏览数据”,勾选浏览历史、缓存文件等项并确认清除;其次通过i管家的“空间清理”功能扫描并清理浏览器残留数据;再者可重置浏览器设置至默认状态,移除个性化配置;最后可卸载并重装vivo浏览器以彻底删除所有数据。 如果您在使用vivo浏览器时希望…

    2026年9月25日 • 用户投稿
    1000
  • sublime怎么安装和使用DocBlockr插件_sublime使用DocBlockr生成注释的教程

    sublime怎么安装和使用DocBlockr插件_sublime使用DocBlockr生成注释的教程sublime怎么安装和使用DocBlockr插件_sublime使用DocBlockr生成注释的教程sublime怎么安装和使用DocBlockr插件_sublime使用DocBlockr生成注释的教程sublime怎么安装和使用DocBlockr插件_sublime使用DocBlockr生成注释的教程

    安装DocBlockr插件:通过Package Control搜索并安装DocBlockr;2. 使用方法:在函数上方输入/**后回车,自动生成含参数、返回值的注释块;3. 配置优化:可设置快捷键、自定义模板及扩展语言支持,提升注释效率。 在Sublime Text中安装和使用DocBlockr插件…

    2026年9月25日 • 用户投稿
    1200

发表回复

登录后才能评论
关注微信