首页 文章 精选 留言 我的

文章列表

共 221699 篇
Vue 3 中 watch 和 watchEffect 的清理副作用到底该怎么写才不会内存泄漏

Vue 3 中 watch 和 watchEffect 的清理副作用到底该怎么写才不会内存泄漏

在 Vue 3 的 Composition API 里,watch 和 watchEffect 是处理响应式数据副作用的常用工具。当监听的数据变化时,经常需要发起异步请求、启动定时器或者注册事件监听。如果这些副作用没有在组件卸载或下一次触发前正确清理,很容易造成内存泄漏、竞态更新或者无效的 DOM 操作。很多开发者只在 onUnmounted 里做清理,却忽...

用 AbortController 管理异步请求:从取消防抖搜索到清理组件副作用

用 AbortController 管理异步请求:从取消防抖搜索到清理组件副作用

在后台管理列表页做防抖搜索时,用户快速输入会连续触发多个 fetch,后发的请求可能先返回,导致列表显示的是旧关键词的结果。另外,在 React 或 Vue 组件卸载后,未完成的请求如果还去 setState,会触发内存泄漏警告。解决这两个问题的常见手段是手动维护一个 requestId 或 loading 标志,但代码容易写乱,尤其多个请求并行时难以清理。...

JavaScript 中的事件循环与微任务:一次代码执行顺序的排查记录

JavaScript 中的事件循环与微任务:一次代码执行顺序的排查记录

前几天在项目里遇到一个奇怪的现象:一个按钮点击后,先更新了状态,然后通过 Promise 触发了一个日志上报,但日志里的数据却是旧的。排查后发现,问题出在微任务和事件循环的配合上。很多人对 setTimeout、Promise.then、queueMicrotask 的执行顺序停留在背诵面试题的层面,一旦放进真实代码里,尤其是和 DOM 更新、异步请求、状态...

React useEffect 依赖数组的坑:为什么你的清理函数总是慢半拍?

React useEffect 依赖数组的坑:为什么你的清理函数总是慢半拍?

在 React 函数组件里用 useEffect 处理副作用时,依赖数组的控制往往比想象中更容易出错。尤其是当副作用内部引用了外部变量或函数,却忘记将它们加入依赖数组,或者为了“只执行一次”而故意留空数组,导致闭包捕获了旧值,清理函数执行时机错乱,甚至出现内存泄漏和状态更新异常。这类问题在定时器、事件监听、数据订阅等场景中格外常见,因为清理函数需要访问最新的...

JavaScript 中的 AbortController:如何优雅地取消 fetch 与异步任务

JavaScript 中的 AbortController:如何优雅地取消 fetch 与异步任务

在开发中我们经常遇到这样的场景:用户快速切换页面,但之前的接口请求还在进行;搜索框连续输入时,每敲一个字符就发一次请求,旧请求的结果可能覆盖新结果;或者文件上传过程中用户点击了取消按钮。这些情况如果不做处理,轻则浪费带宽和服务器资源,重则导致界面状态混乱。过去我们常用一个布尔标记或 XMLHttpRequest 的 abort 方法来中断请求,但代码零散且难...

30 分钟搞定 338 个槽位:你的 Agent 为何还在“裸奔”?

30 分钟搞定 338 个槽位:你的 Agent 为何还在“裸奔”?

早上九点,你盯着屏幕上那 338 个散落的工具配置发呆。隔壁同事用框架三下五除二就把流程跑通了,你却在每个接口的入参上卡了半小时。同样是写代码,为什么他花的时间是你的几分之一?问题究竟出在哪,还是说,你从一开始就看错了“插槽”的位置? 这事儿其实不复杂,只是很多人被“手写自由”迷惑了。 自定义标识只是命名规范,它是在 Agent 身上预留的插槽。这话说得...

电子签名与数字证书法律效力的技术保障:从签名格式与可信时间戳到长期有效性验证的工程实现

电子签名与数字证书法律效力的技术保障:从签名格式与可信时间戳到长期有效性验证的工程实现

电子签名与数字证书法律效力的技术保障:从签名格式与可信时间戳到长期有效性验证的工程实现 摘要:电子签名要在争议中被采信,靠的不是印章图像、也不是系统的一纸承诺,而是一条能被第三方独立复算的密码学证据链。本文从"可靠"的法定判据出发,把专有性、控制性、签名改动可发现、内容与形式改动可发现这四个要求逐...

大模型可观测与评测闭环:Langfuse+LangSmith结合OTel,落地Prompt A/B评测24.8

大模型可观测与评测闭环:Langfuse+LangSmith结合OTel,落地Prompt A/B评测24.8

现在我们做大模型应用,有个最基础、最直观的体会:写好Prompt、调通API只是项目的起点。本地测试效果看着很不错,一旦上线之后各种问题接踵而至。同样的输入,大模型时而回答精准,时而幻觉频发;不同Prompt版本效果好坏靠主观感觉判断,没有量化数据;线上用户真实问题无法回流,模型迭代全凭开发人员猜问题出在哪里;出现故障时,很难定位是Prompt问题、检索上下...

工业 LCD 选型指南:320240 点阵屏与 6464 小尺寸 COG 液晶屏怎么选?

工业 LCD 选型指南:320240 点阵屏与 6464 小尺寸 COG 液晶屏怎么选?

在工控仪表、手持检测设备的硬件开发工作中,液晶显示屏作为人机交互核心部件,直接影响整机的结构设计、功耗表现与现场使用稳定性。深圳驰宇微深耕 LCD 显示模组研发生产,CYW-G320240-201 和 CYWG6464289 两款图形点阵屏,分别面向大画面工控设备与小型便携终端,是工业项目里常用的两款产品。很多硬件工程师在方案设计阶段,会纠结两款屏幕该如何取...

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册