- 博客(19)
- 收藏
- 关注
原创 对websocket心跳监测与应用场景再学习
心跳监测是一种用于保持Websocket连接活跃的机制,它的主要目的是监测连接是否仍然有效,并在连接断开时及时采取措施(如重连),心跳监测通常通过定期发送和接收小型数据包(称为心跳包或Ping或Pong帧)来实现;// 服务器发送 Ping 帧}, 30000);// 每 30 秒发送一次 Ping 帧// 客户端监听 Pong 帧});
2025-01-14 22:10:28
455
原创 什么是websocket心跳监测
最近在工作的时候遇到有面试官问我心跳监测的问题,特来复盘一下。WebSocket是一种在单个TCP连接上进行全双工通信的协议。它允许服务器和客户端之间实时双向通信,不同于HTTP的请求-响应模式。
2024-10-20 20:42:12
520
原创 Pinia持久化的原理,有哪些实现方式,这个插件做了什么事情
当启用 Pinia 持久化时,插件会在特定的时机(比如应用启动时和状态变更时)将 store 中的数据序列化并存储到指定的存储介质中。在应用重新加载时,插件会从存储介质中读取数据并反序列化后恢复到相应的 store 中,使得应用的状态得以延续,用户不会因为页面刷新而丢失之前的操作状态。Pinia 是 Vue.js 的状态管理库,Pinia 持久化的主要原理是利用存储机制(如浏览器的本地存储或会话存储)在页面刷新或重新加载时保存和恢复应用的状态数据。
2024-10-17 23:32:33
797
原创 实现路由懒加载及其坏处
路由懒加载是一种优化手段,它允许将路由对应的组件分割成不同的代码块,然后当路由被访问到的时候才加载对应组件。这样可以减少应用的初始加载时间,因为它不需要一开始就加载所有的路由组件,而是按需加载。routes: [})当访问/foo路由时,Foo.vue组件才会被下载和解析;在使用react router中,懒加载需要用到Suspence,lazy<Router><Switch></Switch></Router>
2024-04-28 09:09:31
370
原创 到底用对BFC了吗?
而且如果其中一个p标签的margin为90px,两个p标签margin值还是100px,以最大的为准;前面讲到,每个元素的左外边距与包含块的左边界相接触因此,虽然.aslide 为浮动元素,但是 main 的左边依然会与包含块的左边相接触而 BFC 的区域不会与浮动盒子重叠。而 BFC 在计算高度时,浮动元素也会参与,所以我们可以触发.par元素生成 BFC,则内部浮动元素计算高度时候也会计算。BFC目的是形成一个相对完全独立于外界的空间,让内部的子元素不会影响到外部的元素;
2024-04-26 15:29:36
956
1
原创 讲讲用到的promise.all
是 JavaScript 中 Promise API 的一个方法,它用于同时处理多个 Promise 对象。接受一个 iterable(如数组)作为输入,其中每个成员都是一个 Promise。会创建一个新的 Promise,这个新的 Promise 的状态取决于传入的所有 Promise。会并发地执行所有的 Promise,即不是按顺序一个接一个执行,而是同时开始执行。方法来处理错误,或者可以在每个 Promise 中分别处理错误。一旦遇到拒绝就会立即拒绝,所以它通常需要配合。
2024-04-11 16:32:35
212
原创 在vue中调用和风天气城市与天气api
我这里设计的是通过用户IP获取当前所在地区,再通过所在地区获取当地天气,其中的参数什么的详情请见官方文档,我这里只用了城市,天气,温度,风向的参数。这里因为和风天气的链接原因,所以我选择使用fetch,但是还有一个很重要的点就是return response.json();项目有设计这个板块,网上搜了一下发现对应博客已经很老了,官方文档也没有匹配对应介绍,
2024-03-29 10:58:34
665
1
原创 使用es6中的flat方法秒数组扁平化
是对数组的一种操作,定义是将原数组部分或全部子数组删除,并替换为该子数组中的实际元素。第一层数组中元素的深度被认为是 0。如果没有n的限制,arr.flat()里是Infinity(无限),即 return arr.flat(Infinity)这道题目的解决方法很多,可以使用reduce或者递归等思想,这里我们主要了解es中的flat方法,方法的原理是遍历原数组,对于每个元素,如果它是一个数组,就按照指定的深度递归地调用。如果它不是数组,就直接将其包含在新数组中。arr 和它的深度 n ,并返回该数组的。
2024-03-25 15:24:42
253
1
原创 js中的可选链操作符
是一个可选链(Optional Chaining)操作符,它允许你安全地访问嵌套对象属性,而不需要在每一级上显式检查是否存在。如果中间的某个属性不存在(即为。这是ES2020(ECMAScript 2020)引入的一个特性,用于简化那些涉及多个级别对象访问的代码,使得代码更加简洁和安全。如果在链中的任何一点属性不存在(例如,如果。),表达式的求值会提前停止,并返回。在JavaScript中,),则表达式的结果将是。,而不是抛出一个错误。
2024-02-20 13:29:35
433
原创 在js中实现深拷贝
每种方法都有其优缺点,具体取决于你的需求。如果你需要处理一些复杂的情况,如循环引用或特殊对象类型,递归复制可能是更好的选择。如果你只需要处理一些简单的对象和数组,
2024-02-20 09:54:34
338
原创 记录在做项目中遇到的get与post问题
在apifox上后端的接口是没问题的,但是前端的请求头与请求方式这些并没有找到什么问题,就是一个很简单的get请求,然后携带了一个body参数,但是呢,get请求携带body参数是不允许的(在有的情况下可以,csdn上又相关博客),解决方法是把请求方式改为post就行了。注意:这里只是约定,并不属于http规范,相反的,我们可以在post请求中url中写入参数,或。然而,从传输的角度来说,他们都是不安全的,因为hitp在网络上是明文传输的,只要在网络节点上。
2024-02-20 09:22:24
395
原创 reduce方法学习
方法非常灵活,可以用于各种不同的场景,包括但不限于数组求和、扁平化数组、对象转换、分组和聚合数据等。方法是 JavaScript 中数组的一个强大的内置方法,它允许你将数组中的所有元素累加到一个单一的结果中。在这个例子中,我们从对象数组中提取出所有人的名字并存储在一个新数组中。方法对于执行数组中的元素累加、合并或转换数据非常有用。方法将多个数组的元素合并成一个数组。方法可以使代码更简洁、更易于维护。的初始值是数组的第一个元素。在这个例子中,我们没有提供。在这个例子中,我们使用。
2024-01-31 15:07:14
388
原创 typescript学习4
implements:使用implements来实现一些类共有方法属性的提取,interface提取,implements实现。static属性加载在其他属性之前,static初始化的时候别的属性还不存在,调用不了。private 只能在自己的内部使用,子类或者实例化外面都用不了。在static方法里的this也只能访问带static的东西。可以理解为在手写vue源码的一部分,虚拟dom渲染为真实dom。后端要求0是false,1是true时:(布尔值也可以)在外面都是不能用.访问到的。
2024-01-30 10:21:45
367
1
原创 vscode 商店提示(提取扩展时出错:XHR failed)
网上的博客大多包括:1.修改proxy里的http或https;2.在host文件里添加对应的域名;3.修改proxy;网上一查就是这样的内容,但是都没有解决我的问题,后面我是通过挂梯子翻墙的时候,发现插件商店恢复正常了,所以可以试试在vpn状态重启并尝试。
2024-01-29 16:04:09
605
原创 typescript3学习
number[ ]boolean[ ]age?:numberreturn a+b其他写法:对象形式:定义this类型函数重载:
2024-01-16 17:57:58
381
1
原创 typescript学习2
readonly 限制只读,常用于函数和id。这里有两个同名的话会合并成一个。函数接口,写对参数和返回值的约束。相当于new Object。
2024-01-15 21:26:07
393
原创 Typescript学习
any 任意类型 unknown 不知道的类型。void类型是null/undefined,一般用于函数。非严格模式下,undefined和null可以穿插赋值。NaN、Infinity也算number类型。严格模式在cfg里面"strict"里改。(小写是基本数据类型,大写是包装类型)ts,生成tsconfig.json。1.顶级类型 any unknown。严格模式void不能被赋为null。5.1 '小鱼' false。编译出一个js文件、node调试js文件。
2024-01-15 17:46:11
391
原创 安装了nvm后,npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确。
nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是: https://github.com/npm/npm/archive/.12,nvm node_mirror [url] 设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/这种情况有可能是因为nvm安装node的时候,没有一起安装对应的npm,但是我在nvm对应的文件夹下有npm这个文件夹。
2023-07-25 20:44:19
3297
4
原创 小程序报错:(“ errMsg “:“ navigateTo : fail can not navigateTo a tabbar page “}
wx . navigateTo 改为 switchTab。但发现问题还是解决不了。后面想了20多分钟。终于让我找到了错误。以上是第一种情况,如果还是没有解决可以试试改为wx.reLaunch。详细的可以看看官方文档。从当前网页跳转到当前网页本身会报这个错误。刚开始以为是 navigateTo 的原因。
2023-04-21 16:50:27
3486
4
空空如也
在vue组件中使用swiper,为什么轮播图滑动不了呢
2022-11-15
h5移动端页面下面出现一大块白色的页面,还可以滑动
2022-11-14
前端怎么让网页缩放的时候布局不会变化啊
2022-11-09
前端flex布局下怎么让图片放大呢
2022-11-05
vue里一个非单位组件(仅有一个组件)能修改为单文件组件吗
2022-10-27
前端怎么用vue让图片悬停放大呢?
2022-10-27
前端用vue怎么让图片鼠标悬停倾斜?
2022-10-27
前端制作页面时怎么能够让图片曲面显示
2022-10-24
微信小程序如何修改全局变量的值
2022-09-11
微信小程序如何把一个页面的某个数据传到另一个页面去
2022-09-11
微信小程序如何通过点击一个按钮删除数据呢
2022-09-10
微信小程序如何显示当月月份
2022-09-10
微信小程序页面接收数据后显示为八位数呢
2022-09-03
微信小程序在js中如何修改echarts中的data的value?
2022-09-03
微信小程序遇到如图关于数组的问题,求解答
2022-09-01
微信小程序首页与另一个页面的部分都要显示支出这个数据,怎么做到两者同步呢
2022-09-01
微信小程序怎么引用数组下的一组数据
2022-09-01
微信小程序中同一页面下的几个分散的数据如何加起来然后在一个位置上显示
2022-08-30
微信小程序,如何把几个分散的数据加在一起并显示在上面
2022-08-30
微信小程序首页一个数据如何引入另一个页面下的一个数据呢
2022-08-30
微信小程序中月份组件点了一次就不能点第二次,是怎么回事呢
2022-08-28
微信小程序月份组件页面上的内容不随点击而变化
2022-08-27
微信小程序保留两位小数的报错怎么解决呢
2022-08-27
怎么让js中的data数据保留两位小数
2022-08-26
如何在数据没有传进来之前显示的是这个页面呢
2022-08-25
输入本月预算与支出之后怎么样可以立马显示剩余预算
2022-08-25
如何让小程序中数字能保留到小数点后两位
2022-08-25
微信小程序如何让数字保留两位小数
2022-08-25
在没有数据进来的时候就显示这个页面怎么做到呢
2022-08-14
微信小程序怎么在一页面js部分数据互传
2022-08-13
怎么让微信小程序中的盒子不随数据变化而变化大小
2022-08-12
怎么将实时的将文本框输入的数据在echarts图标显示呢?
2022-08-12
微信小程序怎么在一页面js部分数据互传
2022-08-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人