视频直播源码,js实现节流和防抖

防抖:

就是指连续触发事件但是在设定的一段时间内中只执行最后后一次,例如:设定1000毫秒执行,当你触发事件了,他会1000毫秒后执行,但是在还剩500毫秒的时候你又触发了事件,那就会重新开始1000毫秒之后在执行。

记忆核心:重新开始

应用场景:搜索框搜索输入 文本编辑器实时保存


  let timerId = null
  document.querySelector('.int').onkeyup = function(){
    // 防抖
    if(timerId!== null){
      clearInterval(timerId)
    }
    timerId = setTimeout(() => {
      console.log("我是防抖");
    }, 1000);
  }

节流:

就是指连续触发事件但是在设定的一段时间内中只执行一次函数。例如:设定1000毫秒执行,那你在1000毫秒触发在多次,也只在1000毫秒后执行一次

记忆方法:不要打断我

应用场景:高频事件 例如 快速点击,鼠标滑动,resize事件,scroll事件。下拉加载 视频播放等。


  let timerId = null
  document.querySelector('.int').onmouseover = function(){
    // 节流
    if(timerId!== null){
     return
    }
    timerId = setTimeout(() => {
      console.log("我是节流");
      timerId = null
    }, 1000);
  }

其实,我开发一般用lodash库,利用里面的debounce(防抖)和throttle(节流)来做的。

以上就是视频直播源码,js实现节流和防抖, 更多内容欢迎关注之后的文章

视频直播源码,js实现节流和防抖的更多相关文章

  1. 视频直播源码开发中的流媒体协议:rtmp协议

    一.概念与摘要 视频直播源码的RTMP协议从属于应用层,被设计用来在适合的传输协议(如TCP)上复用和打包多媒体传输流(如音频.视频和互动内容).RTMP提供了一套全双工的可靠的多路复用消息服务,类似 ...

  2. 基于vitamio的网络电视直播源码

    这个项目是基于vitamio的网络电视直播源码,也是一个使用了vitamio的基于安卓的网络直播项目源码,可能现在网上已经有很多类似这样的视频播放应用了,不过这个还是相对来说比较完整的,希望这个案例能 ...

  3. 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)(1)

    原文:http://developer.51cto.com/art/201501/464174.htm 编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定 ...

  4. 07 drf源码剖析之节流

    07 drf源码剖析之节流 目录 07 drf源码剖析之节流 1. 节流简述 2. 节流使用 3. 源码剖析 总结: 1. 节流简述 节流类似于权限,它确定是否应授权请求.节流指示临时状态,并用于控制 ...

  5. 带货直播源码开发采用MySQL有什么优越性

    MySQL是世界上最流行的开源关系数据库,带货直播源码使用MySQL,可实现分钟级别的数据库部署和弹性扩展,不仅经济实惠,而且稳定可靠,易于运维.云数据库 MySQL 提供备份恢复.监控.容灾.快速扩 ...

  6. js 函数节流和防抖

    js 函数节流和防抖 throttle 节流 事件触发到结束后只执行一次. 应用场景 触发mousemove事件的时候, 如鼠标移动. 触发keyup事件的情况, 如搜索. 触发scroll事件的时候 ...

  7. iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码

    iOS精选源码 APP启动视频 自定义按钮,图片可调整图文间距SPButton 一款定制性极高的轮播图,可自定义轮播图Item的样式(或只... iOS 筛选菜单 分段选择器 仿微信导航栏的实现,让你 ...

  8. android文件管理器源码、斗鱼直播源码、企业级erp源码等

    Android精选源码 文件清理管理器 自定义水平带数字的进度条以及自定义圆形带数字的进度条 利用sectionedRecyclerViewAdapter实现分组列表的recyclerView源码 流 ...

  9. android企业级商城源码、360°全景图VR源码、全民直播源码等

    Android精选源码 [新版]Android技术博客精华汇总 开源了:乐乐音乐5.0-Android音乐播放器 android实现仿真水波纹效果源码 360°全景图VR,这是一个值得把玩的APP a ...

  10. Android 视频 教程 源码 电子书 网址

    资源名称 资源地址 下载量 好评率8天快速掌握Android视频教程67集(附源码)http://down.51cto.com/zt/2197 32157Android开发入门之实战技巧和源码 htt ...

随机推荐

  1. Android  JetPack~ LiveData (一)   介绍与使用

    一般情况下LiveData都是搭配这ViewModel使用,这里先介绍一下LiveData,再结合ViewModel使用 Android数据绑定技术一,企业级开发 Android数据绑定技术二,企业级 ...

  2. 看完这篇你不能再说不懂SSO原理了!

    这一篇是原理篇,接下来还会有一篇实战篇,实战的相关代码是非常火的一个开源项目叫:xxl-sso 一.简介 单点登录(Single Sign On),简称为 SSO. 它的解释是在多个应用系统中,用户只 ...

  3. 1 .NET Core笔试题

    1.说说显示实现接口和隐式实现接口的区别. 2.说说file访问修饰的作用. 3.说说什么是原始字符串. 4.C#10 中struct有什么改进? 5.说说C#10中Lambda表达式的新特点. 6. ...

  4. YouCompleteMe用法总结

    1.将.ycm_extra_conf.py拷贝到工程目录,然后打开,将自己的include目录添加进去

  5. React Native学习笔记----React Native简介与环境安装

    React Native 的基础是React, 是在 web 端非常流行的开源 UI 框架.要想掌握 React Native,先了解 React 框架本身是非常有帮助的. 一.什么是React Na ...

  6. HDMI转USB视频采集卡(ACASIS 1080P高清视频采集卡)--九五小庞

    ACASIS阿卡西斯是深圳市菲德越科技有限公司旗下数码科技品牌.菲德越是2008年成立的一家专注于采集卡.硬盘盒.集线器等专业3C配件产品,集研发.设计.生产.销售于一体的高新科技公司,我们公司以向客 ...

  7. 从零开始使用阿里云OSS服务(白嫖)

    阿里云对象存储服务OSS使用记录 1 新人免费开通OSS服务 访问 阿里云官网,登录账号(个人新用户账号),首页搜索 对象存储OSS,点击下方的直达. 点击立即开通,此时会在一个新网页中完成开通 完成 ...

  8. NodeJs设置全局缓存路径 和 安装CNPM

    设置全局路径 下建立2个文件夹 如"node_global"及"node_cache" , npm config set prefix "D:\Pro ...

  9. vue基础——命名路由

    路由配置,是vue使用的基础中的基础,采用传统的方式会有些麻烦且不清晰,而命名路由的方式,无论path多长多繁琐,都能直接通过name就匹配到了,十分方便,所以,强烈推荐使用命名路由的方式 传统的方式 ...

  10. git 合并dev分支到 master分支 (merge)

    ## 查看分支列表 $ git branch -a ## 切换到本地dev分支 $ git checkout dev ## 更新本地dev 分支 $ git pull ## 切换到master 分支 ...