首页 > 其他分享 >TypeScript中的定时器

TypeScript中的定时器

时间:2023-05-17 14:55:58浏览次数:26  
标签:do 定时器 setInterval number timer window TypeScript setTimeout

在ts中使用setInterval()setTimeout()时,如果把特们的返回值定义成number类型,那么ts会警告你不能将类型“Timeout”分配给类型“number” 或 你不能将类型“Timer”分配给类型“number”

原因

  • setInterval()setTimeout()使用的是 Node.js 下的接口定义,而在ts中,window下的setIntervalsetTimeout返回的是number

解决

  • 1, 使用window.setTimeout,window.setInterval;
timer = window.setTimeout(() => {

        //to do

      }, 500)
  • 2,把返回值类型定义成number | null;
let timer: number | null = setTimeout(() => {

          //to do

        }, 500)
  • 3, 强制转换成number类型;
let timer = Number(setInterval(() => {
      // to do 
    }, 500));
// clearInterval(Number(timer))

标签:do,定时器,setInterval,number,timer,window,TypeScript,setTimeout
From: https://www.cnblogs.com/rain111/p/17408751.html

相关文章

  • 企业级项目模板的配置与集成(Vite + Vue3 + TypeScript)
    企业级项目模板的配置与集成(Vite+Vue3+TypeScript)1、项目介绍项目使用:eslint+stylelint+prettier来对我们代码质量做检测和修复。需要使用husky来做commit拦截需要使用commitlint来统一提交规范需要使用preinstall来统一包管理工具。2、环境准备nodev16.14.2pnp......
  • 【React】定时器组件
    鼠标移入关闭定时器并清除,鼠标移出组件的时候打开定时器进行循环consttimer=useRef(null);useEffect(()=>{startLoop();},[]);conststartLoop=()=>{stopLoop();timer.current=window.setInterval(()=>{//要干的事},60*......
  • 从0到1搭建后台管理系统(Vue3 + Vite4 + TypeScript + Element Plus + Pinia + Vue Rou
    参考有来:https://www.cnblogs.com/haoxianrui/p/17331952.htmlNode16+版本大于16【问题一:目前我是14.18.2的版本npm是6.14.15版本,这就涉及到要切换node版本的问题,不然我安装了16我的vue2项目就启动不了了】vscode插件市场搜索 VueLanguageFeatures(Volar) 和 TypeScript......
  • TypeScript 类型
    类型判断getType:function(obj:any){returnObject.prototype.toString.call(obj).slice(8,-1);}//=>[objectFunction/xxxx]=>‘Function/xxxx’Object.prototype.toString.call(obj))是一种常用的typeof,使用了object原型上的toString。该值存放于对象的[Sym......
  • 【Java】定时器CronExpression参数规则
    参考:定时器CronExpression配置说明详解-心和梦的方向-博客园(cnblogs.com) 项目中经常要使用到定时器,其中CronExpression配置非常重要。现在就配置说明详细解说一下:CronExpression表达式是由6个必需字段(秒、分、时、日、月、周)和一个可选字段(年)通过空格组成。cronExpres......
  • TypeScript 初体验
    什么是TypeScriptTypeScript是静态类型的JavaScript超集类型系统按照「类型检查的时机」来分类,可以分为动态类型和静态类型。动态类型是指在运行时才会进行类型检查,这种语言的类型错误往往会导致运行时错误。TypeScript在运行前需要先编译为JavaScript,而在编译阶段就会......
  • 定时器概述
    定时器详解引出定时器是一个比较常见的数据结构,或者说框架,以一个最简单的例子引出,在游戏中,冷却时间使用的就是定时器;所以说定时器是等待时间过期执行对应时间事件处理(回调函数)的一个框架;补充:下文中可能会出现定时任务,它和时间事件基本上是一个东西那么现在有一个就有一......
  • warning Unexpected any. Specify a different type @typescript-eslint/no-explic
    参考链接场景描述使用vue3+ts开发项目时,会遇到很多警告,我们可以在配置文件中关闭它一、警告:warningUnexpectedany.Specifyadifferenttype@typescript-eslint/no-explicit-any解决方案:关闭any类型的警告。//在.eslintrc.js文件中找到rules添加一行代码即可"@ty......
  • uniapp定时器的使用
    //uniapp中的具体用法:我这里使用到了setIntervaldata(){ return{ timer:null//定时器名称 }; },//一般在页面需要的地方使用,这里我是放在了onshow()里onShow(){ //console.log('onshow'); this.timer=setInterval(function(){ //放入你自己的业务逻辑代码 },3000......
  • Vue3 + Vite4.3 + Element-Plus + TypeScript 从0到1搭建企业级后台管理系统(前后端开
    vue3-element-admin是基于vue-element-admin升级的Vue3+ElementPlus版本的后台管理前端解决方案,技术栈为Vue3+Vite4+TypeScript+ElementPlus+Pinia+VueRouter等当前主流框架。相较于其他管理前端框架,vue3-element-admin的优势在于一有一无有配套后端、无......