描述: 在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来调用