如何使用相同的变量来存储setInterval()的返回值,并将其作为参数传递给clearInterval.()



我想使用相同的变量来存储setInterval()的返回值,然后将其作为参数传递给TypeScript中的clearInterval()。但是,setInterval()返回NodeJS.Timer,而clearInterval()number

这就是我希望代码看起来的样子:

itemCooldownInterval: NodeJS.Timer | undefined;
this.itemCooldownInterval = setInterval(this.tickCooldown, 1000);

这就是我想要清除间隔的方式:

clearInterval(this.itemCooldownInterval);

浏览器和Node.js中setInterval的返回值不同。你在哪个平台上开发?

在浏览器上,返回类型为number。您的IDE可能会说一些不同的话,然后只使用window.setInterval

itemCooldownInterval: number | undefined;
// this will work
this.itemCooldownInterval = window.setInterval(this.tickCooldown, 1000);

无论哪种方式,您都可以使用ReturnType来推断匹配类型:

itemCooldownInterval: ReturnType<typeof setInterval> | undefined;

相关内容

  • 没有找到相关文章

最新更新