TS 中使用setTimeout,NodeJS.Timeout

描述: 在TS中使用 setTimeout 函数,不知道该定义什么类型,经过我的摸索得出两种定义的方式,写一篇文章记录一下

第一种

这种使用方式,常见的错误就是,报 NodeJS 找不到,而报错

	let timeout: NodeJS.Timeout
	
	clearTimeout(timeout)
	timeout = setTimeout(() => {
	    cb(results)
	}, 3000)

解决方案

  • 安装 npm i @types/node
  • 然后配置 .eslintrc.cjs
  globals: {
    NodeJS: 'readonly'
  }
  • 保存就可以了

第二种

第二种是最简单,便捷的方式,但是既然写 TS,个人觉得最好还是第一种好,仅个人意见,以上。

  let timeout: number
  clearTimeout(timeout)
  timeout = window.setTimeout(() => {
    cb(results)
  }, 3000)

解决方案

  • 定义成number类型
  • 然后setTimeout使用window来调用

你可能感兴趣的:(TYPESCRIPT,javascript,typescript)