首页 文章 精选 留言 我的

文章列表

共 221045 篇
用 AbortController 取消过期请求,避免竞态条件导致数据错乱

用 AbortController 取消过期请求,避免竞态条件导致数据错乱

在搜索框联想、路由切换或重复提交的场景里,经常会遇到一个接口还没返回、又发起了新请求的情况。如果后发的请求先回来,界面可能被旧数据覆盖;如果先发的请求后回来,又会把新数据冲掉。这种竞态条件在前端并不少见,尤其在输入框实时搜索、切 tab 拉不同列表、或者弹窗打开时加载详情时容易复现。常见做法是用一个 flag 标记当前请求是否还有效,或者比较时间戳,但写多了...

TypeScript 中的 unknown 与 any:什么时候该用哪个?

TypeScript 中的 unknown 与 any:什么时候该用哪个?

在维护一些年代较久或者从 JavaScript 迁移过来的 TypeScript 项目时,经常会看到 any 类型被大量使用。它确实省事,编译器不再报错,但代价是失去了类型检查带来的安全感。后来 TypeScript 3.0 引入了 unknown,官方把它定位为 any 的类型安全替代品。实际开发中我发现不少同事知道 unknown 更安全,但不清楚具体在...

Vue 3 中 reactive 对象解构后丢失响应式,用 toRefs 不如用这个模式

Vue 3 中 reactive 对象解构后丢失响应式,用 toRefs 不如用这个模式

在 Vue 3 组合式 API 里,把 reactive 创建的对象解构到模板或子组件时,原始值的响应性会断掉。这个坑在表单编辑、弹窗复用、列表项抽取组件时特别常见:父组件传一个 user 对象,子组件 const { name, age } = props.user,改 name 时视图不动,因为解构出来的只是当次求值的结果。很多人第一反应是套 toRef...

用 ResizeObserver 替代 window.resize 监听元素尺寸变化

用 ResizeObserver 替代 window.resize 监听元素尺寸变化

做后台管理系统时,图表容器经常需要根据父级宽高自适应。早些年我会挂一个 window.addEventListener('resize', handler),然后在回调里读 container.offsetWidth 重新渲染。这个做法在简单布局里能跑,但一旦遇到侧边栏折叠、标签页切换、flex 容器内部尺寸变化这些场景,就完全不灵了——窗口大小根本没变,元...

从一次线上事故看 IntersectionObserver 在长列表懒加载中的误用

从一次线上事故看 IntersectionObserver 在长列表懒加载中的误用

上个月我们一个后台管理页面出现了奇怪的 bug:用户从列表页翻到第三页后,图片开始大面积空白,但刷新页面又恢复正常。排查后发现是图片懒加载逻辑里用 IntersectionObserver 监听滚动容器时,把 root 设成了 window,而实际滚动发生在内部一个 overflow: auto 的 div 上。更麻烦的是,这个 div 在路由切换时被销毁重...

Vue中v-if和v-show在表单编辑场景下的选择与坑

Vue中v-if和v-show在表单编辑场景下的选择与坑

在后台管理系统里,编辑弹窗或侧边栏表单通常会复用同一个 DOM 结构,靠切换状态来显示不同字段。很多人下意识用 v-if 控制显隐,觉得“不渲染更省性能”。可一旦表单字段多起来,或者包含上传、富文本、日期选择器等第三方组件,就会遇到切换卡顿、组件状态丢失、异步校验错乱的问题。反过来用 v-show 又会在初始渲染时创建所有分支,遇到依赖父级尺寸的组件(比如 ...

JavaScript 中的 AbortController:如何优雅地取消 fetch 请求与清理副作用

JavaScript 中的 AbortController:如何优雅地取消 fetch 请求与清理副作用

在单页应用里,用户快速切换路由、连续触发搜索或者重复提交表单时,发出去的异步请求往往已经不再需要了。浏览器虽然会继续接收响应,但回调里执行的状态更新可能覆盖掉最新的结果,甚至对已经卸载的组件执行 setState,造成内存泄漏或界面闪烁。过去我们用 XMLHttpRequest 的 abort 方法,或者引入 axios 的 CancelToken,现在浏览...

Vue 3 中 watch 与 watchEffect 的竞态问题与清理副作用实践

Vue 3 中 watch 与 watchEffect 的竞态问题与清理副作用实践

在 Vue 3 的 Composition API 里,watch 和 watchEffect 是处理响应式副作用的常用工具。但很多人在搜索框联想、路由参数变化后请求接口、分页切换等场景下,会碰到一个隐蔽的问题:先发出的请求可能后返回,覆盖掉后发出请求的结果,导致界面显示的数据和当前条件不一致。这类竞态问题在开发环境里不容易稳定复现,上线后却可能因为网络抖动...

React 状态更新后组件不重新渲染?从 Object.is 和闭包陷阱排查一次真实问题

React 状态更新后组件不重新渲染?从 Object.is 和闭包陷阱排查一次真实问题

上周帮同事排查一个 React 页面的 bug:点击按钮修改了 state 里的对象属性,接口数据回来了,控制台也打印了新的值,但页面上的数字和列表纹丝不动。代码里明明调用了 setState,也没有报错。这类问题通常不是 React 本身失效,而是新旧 state 在浅比较时被判定为相等,或者更新函数里引用了过期的闭包变量。React 的调度机制只会在 O...

风控开发指南:Python集成婚恋风险报告实现精准合规审查

风控开发指南:Python集成婚恋风险报告实现精准合规审查

在高端线下实名制婚恋交友平台、精英相亲俱乐部以及定制化婚姻猎头服务中,VIP会员入会前的综合背景与信用健康度评估是构筑平台公信力与保障会员合法权益的核心基石。在传统服务流程中,专属红娘顾问需要求申请人线下提交纸质身份证件、婚姻状况声明、机动车行驶证复印件以及个人征信说明,不仅核验链条割裂、人工交叉比对耗时长达数个工作日,而且难以动态甄别申请人是否存在未如实披...

风控开发指南:Java集成婚恋风险报告实现精准合规审查

风控开发指南:Java集成婚恋风险报告实现精准合规审查

在高端实名制婚恋俱乐部、私人家族联姻顾问机构以及严肃婚恋交友平台的会员准入体系中,对申请入会嘉宾的实名身份一致性、法定婚姻存续状态、名下车辆财产实力、过往履约资信状况以及司法涉诉记录进行交叉核实,是配合线下学历学位档案审阅、保障俱乐部高净值会员池真实度与社交信任基石的核心合规防线。传统的俱乐部入会背调流程往往依赖申请人手工填写《单身状态声明书》,并在线下向专...

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

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

用户登录
用户注册