我有一个需要保存的时间间隔,我想知道如果类型为intervalTimer
,如何为ReturnType<typeof setInterval>
设置初始值
interface Data {
intervalTimer: ReturnType<typeof setInterval>
}
var data : Data = {
intervalTimer: "initial value????",
}
function start(){
data.intervalTimer = setInterval(()=>console.log('PING'), 3000)
}
这在Node和Browser上都应该起作用。两者都返回不同的值。
因此,简单地将intervalTimer
设置为0会导致错误Type 'Timeout' is not assignable to type 'number'
答案 0 :(得分:0)
可能有一个更优雅的方法,但是一个选择是设置一个不运行任何操作的初始超时,以确保intervalTimer
的初始值是预期的类型,而与环境无关:>
interface Data {
intervalTimer: ReturnType<typeof setTimeout>
}
const data: Data = {
intervalTimer: setTimeout(() => void 0),
}