JS定时器清除之后,已经开始但是没有运行完的函数还会继续运行吗?

最近使用定时器的时候遇到这样一种情况,定时器清除了,功能仍然在跑(遍历数组,同步定时网络请求)。 排查了一下代码,发现逻辑确实没问题。后来一想,是不是函数没运行完,仍然在跑,于是上代码测试了一下: let timer = setInterval(async () => { console.log(\"开始\") await new Promise((resolve) => { setTim
JS定时器清除之后,已经开始但是没有运行完的函数还会继续运行吗?

前端Mockjs学习笔记,持续记录

相比于自己写一个模拟数据返回的后端接口,好像还是这个来的更加方便。 让前端攻城师独立于后端进行开发。不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据。支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。 基于对window的xhr对象的二次封装,增加了用于拦截的逻辑。 npm install mockjs Mock.setup({ timeout: 400 }) M
前端Mockjs学习笔记,持续记录

前端自适应方案总结,前端最佳自适应方案

我们看到的每个屏幕都是由一颗颗我们肉眼难以看到的小颗粒(物理像素)组成的。 是计算机坐标系统中的一个点,这个点代表一个可以由程序使用的虚拟像素(比如说CSS像素)。一个CSS像素对应多少个设备像素是根据当前的缩放比例 12px对应36px,缩放0.5,12px对应18px。扩大2.0,12px对应72px。 它的数值体现了物理像素和逻辑像素之间的关系,用公式可以计算出该设备的DPR的大小: DPR
前端自适应方案总结,前端最佳自适应方案

Uniapp、Html5plus、Native.js开发记录

获取应用主Activity实例对象,什么是Activity (活动)? Android的四大组件之一的Activity(活动):Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作, 比如打电话,照相,发送邮件,或者显示一个地图!Activity可以理解成一个绘制用户界面的窗口, 而这个窗口可以填满整个屏幕,也可能比屏幕小或者浮动在其他窗口的上方! 作用
Uniapp、Html5plus、Native.js开发记录

WebRTC开发经验总结,持续记录

volume 音量约束 sampleRate: 采样率 sampleSize: 采样大小,采样的位数 echoCancellation: 回音消除 autoGaincontrol: 增加音量 noiseSuppression: 降噪 latency : 延迟大小 channelCount: 切换声道 deviceID: 多个音频输入输出设备的进行切换 groupId: 同一个物理设备,是一个分组,
WebRTC开发经验总结,持续记录

Vuex3.x、Vuex4.x状态管理器学习笔记

Vuex:https://v3.vuex.vuejs.org/zh 什么是状态管理器?方便调试,方便维护数据。https://vuex.vuejs.org/zh/#%E4%BB%80%E4%B9%88%E6%98%AF%E2%80%9C%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86%E6%A8%A1%E5%BC%8F%E2%80%9D%EF%BC%9F import Vu
Vuex3.x、Vuex4.x状态管理器学习笔记

Vue Ant Admin学习笔记,持续记录

Vue Ant Admin基于Vue2.x的中后台管理系统:https://iczer.gitee.io/vue-antd-admin-docs/ 比较漂亮的,可以借鉴的:https://vue-admin-beautiful.com/admin-pro Ant Design of  Vue: https://antdv.com/docs/vue/introduce-cn/(V2及以上版本为Vue
Vue Ant Admin学习笔记,持续记录

前端节流(throttle)和防抖动(debounce)

节流指的都是某个函数在一定时间间隔内只执行第一次回调。举个常见的节流案例:我们把某个表单的提交按钮——button 设成每三秒内最多执行一次 click 响应;当你首次点击后,函数会无视之后三秒的所有响应;三秒结束后,button 又恢复正常 click 响应功能,以此类推。 有什么用呢?通常,这类提交 button 的@click响应会给后端发送 api 请求,频繁的点击意味着频繁的请求(流量)
前端节流(throttle)和防抖动(debounce)

Vue2向Vue3过渡,持续记录

迁移指南:https://v3.cn.vuejs.org/guide/migration/introduction.html 好用的插件:https://vueuse.org/,被遗忘了的几个指令 v-pre、v-once、this.$forceUpdate()、this.nextTick() 编程总结:在setup中应该如何去规划代码?如何模块化?如何才不会一团乱? Vue3中不再构建UMD模块
Vue2向Vue3过渡,持续记录

工作记录,使用Uniapp开发移动应用

项目需求:录制视频和语音,在app页面的上半部分实时显示。下半部分显示文字提示,提醒用户回答确认。最后将录制的视频提交到服务器保存。 安装 :https://developer.android.google.cn/,作为开发过程中App的调试工具。(Android Studio基于IntelliJ Platform)。 插件市场搜索不到中文插件,手动下载:https://plugins.jetbr
工作记录,使用Uniapp开发移动应用

Vue-Router学习笔记,持续记录

随着 ajax 的流行,异步数据请求交互运行在不刷新浏览器的情况下进行。而异步交互体验的更高级版本就是 SPA —— 单页应用。单页应用不仅仅是在页面交互是无刷新的,连页面跳转都是无刷新的,为了实现单页应用,所以就有了前端路由。 类似于服务端路由,前端路由实现起来其实也很简单,就是匹配不同的 url 路径,进行解析,然后动态的渲染出区域 html 内容。但是这样存在一个问题,就是 url 每次变化
Vue-Router学习笔记,持续记录

《千锋最新前端webpack5》学习笔记,持续记录

视频地址:https://www.bilibili.com/video/BV1YU4y1g745 webpack文档:https://webpack.docschina.org/concepts/ 了解一下CMD模块化规范。(module.export={}相关规范) Require.js不通过config方法配置模块路径时,也可以做require时指定完整的引入路径(require(
《千锋最新前端webpack5》学习笔记,持续记录

Scss学习笔记,持续记录

相关文档:https://www.sass.hk/docs/ 下载Ruby:https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.0-1/rubyinstaller-3.1.0-1-x64.exe gem sources --add https://gems.ruby-china.com/ --
Scss学习笔记,持续记录