【问题标题】:Initial value for ReturnType<typeof setInterval> for both browser and node environment浏览器和节点环境的 ReturnType<typeof setInterval> 的初始值
【发布时间】:2020-12-12 00:28:53
【问题描述】:

我有一个需要保存的间隔,我想知道如果类型为ReturnType&lt;typeof setInterval&gt;,如何设置intervalTimer 的初始值

  interface Data {
    intervalTimer: ReturnType<typeof setInterval>
}

var data : Data = {
    intervalTimer: "initial value????",
}

function start(){
    data.intervalTimer = setInterval(()=>console.log('PING'), 3000)
}

这应该适用于节点和浏览器。两者都返回不同的值。 所以简单地将intervalTimer设置为0会导致错误Type 'Timeout' is not assignable to type 'number'

【问题讨论】:

    标签: node.js typescript vue.js


    【解决方案1】:

    可能有一种更优雅的方法,但一种选择是设置一个运行无操作的初始超时,以确保intervalTimer 的初始值是预期的类型,无论环境如何:

    interface Data {
        intervalTimer: ReturnType<typeof setTimeout>
    }
    const data: Data = {
        intervalTimer: setTimeout(() => void 0),
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-31
      • 1970-01-01
      相关资源
      最近更新 更多