- 博客(13)
- 收藏
- 关注
原创 前端项目亮点--按钮频繁点击发送请求
本文介绍了防止用户频繁点击提交按钮的两种方案:防抖函数和全局loading。防抖函数虽然能减少请求次数,但在响应时间较长时仍可能发送多次请求。更完善的方案是采用全局loading遮罩层,通过计数器机制确保所有请求结束后才关闭loading。文章详细讲解了计数器实现原理,包括请求计数、异常处理等关键点,并提供了完整的代码实现,包含axios拦截器、loading组件和相关样式。该方案能有效防止重复请求,适合表单提交等需要等待服务器响应的场景。
2025-07-09 18:56:35
354
原创 前端场景题--批量上传文件
本文实现了一个并发任务队列(TaskQueue)类,用于控制异步任务的并发执行数量。主要特点如下: 通过maxConcurrent参数设置最大并发数(如服务器限制的5个请求) 使用队列结构管理待执行任务,保持先进先出顺序 提供add方法添加任务,当活跃任务数未达上限时自动执行 每个任务完成后自动启动下一个任务 包含pending/active状态查询和队列清空功能 示例展示了如何用该队列控制5个模拟任务的并发执行(限制为2个同时执行)。这种模式适用于需要限制并发请求的场景,如批量上传文件等。
2025-07-09 17:35:59
179
原创 前端八股--前端工程相关webpack+vite
输出资源:根据入口和模块之间的依赖关系,组装成一个个包含多个模块的 chunk,再把每个 chunk 转换成一个单独的文件加入到输出列表,这一步是可以修改输出内容的最后机会。编译模块:从入口文件出发,调用所有配置的 loader 对模块进行翻译,再找出该模块依赖的模块,这个步骤是递归执行的,直至所有入口依赖的模块文件都经过本步骤的处理。开始编译:从上一步得到的参数初始化 Compiler 对象,加载所有配置的插件,执行对象的 run 方法开始执行编译。loader写在module[rule{[ ]}]内;
2025-07-01 11:07:30
790
原创 前端八股---react
数据的状态不可变,采用新建替换代替修改方案JSX是javascript的一种语法糖,可以编程人员在javascript中编写html,变得更加直观。增强可读性,但是必须通过Babel工具编译为javascript代码。
2025-06-27 11:38:24
883
原创 前端八股--js篇
2.0 es6有哪些新增的特性2.1 let、const、var 的区别?作用域变量提升是否可重复声明2.2 箭头函数与普通函数的区别?语法箭头函数普通函数arguments对象自己没有argument,可以访问外部的argument可以采用剩余参数接收参数prototypethis指向问题继承外部作用域,无法绑定this动态绑定this直接调用this指向全局对象方法调用this指向她的对象call、bind,apply绑定this。
2025-06-10 11:35:49
653
原创 代码随想录算法笔记
重点注意:同一层次,i的取值范围为:index-到en,所以index+1到len的值都与index可能处于同一层。selected[i-1]===false表示前面递归肯定选过他,只不过出栈了,要不然怎么会轮到选i。重点注意:同一层次,i的取值范围为:index-len,所以index+1到len的值都与index可能处于同一层。selected[i-1]===true表示在同一个分支上,newNums[i-1]===newNums[i]的情况下。,请你返回该数组所有可能的 子集(幂集)。
2025-05-28 20:13:55
448
原创 前端手写async await
注意调用了四次next,所以最后一次是undefined,需要其变为有效的,我们需要return一个内容。第几次调用yield的next,就会返回第几个yield后面的内容,返回格式为对象。1. 已知async await特点:能暂停执行并能恢复执行(这一点就类似于generator)4. generator函数:特点:function后面*,并且yield关键词。这个done会等到generator执行完毕变为true。done:表示完成情况}缺点:适用性不强,如果太多次yield,所以将其封装起来。
2025-05-08 17:01:05
394
原创 vite+react+github部署项目
当你操作完部署,你会发现GitHub会多一个gh-pages分支,这个分支是你执行deploy得到的!(自动给你提交的),还有个vite,我不知道这个是否重要,就配上吧(一般打包正常,本地能跑,就正确)如果你没得到,那么你需要考虑你的远程GitHub是不是连接上了!在本地选择一个文件夹运行:(注意ASXXX92替换成你自己的ID)先安装gh-pages包(开发环境)再修改package.json文件。(比如说:testProject)然后你就能跳转页面了呀。7. github部署。
2025-04-28 11:37:28
286
1
原创 跑代码tf.compat.v1找不到v1模块
1.代码是1.x 环境tensorflow版本是2.x 找不到。2.变环境:新创一个tensorflow1.x版本的环境。1.环境不变:直接在导包下面加一行代码。
2024-03-24 16:53:39
478
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅