当前位置: 首页 > 知识库问答 >
问题:

Typescript:超时的正确类型是什么?

黄成荫
2023-03-14

处理计时器时正确的类型是什么?我试过Timeoutnumber

  let debounceResize: any;
//                     ^ What should this be?
  window.addEventListener('resize', () => {
    clearTimeout(debounceResize);
    debounceResize = setTimeout(calcCanvasSize, 500);
  });

共有3个答案

凤经国
2023-03-14

更新答案。现在可以使用。

let debounceResize: NodeJS.Timeout = setTimeout(() => {}, 1000);
艾意蕴
2023-03-14

在Web浏览器应用程序中,setTimeout返回一个数字。

此设置需要DOM库(或等效库)。

在NodeJS应用程序中,setTimeout返回NodeJS。超时。

npm install @types/node --save-dev`. 

王辉
2023-03-14

对于这种情况,我会给你2个选择:

  1. 将非BouncereSize的类型定义为setTimeout的返回类型,使用本机泛型
let debounceResize: ReturnType<typeof setTimeout>;
let debounceResize: number;

debounceResize = window.setTimeout(() => {}, 1000);
 类似资料:
  • 问题内容: 我一直在弄乱JSON一段时间,只是将其作为文本推出,它并没有伤害任何人(据我所知),但是我想开始做正确的事情。 我见过 这么 多所谓的“标准”为JSON内容类型: 但是哪一个是正确的,还是最好的?我发现在它们之间存在安全性和浏览器支持问题。 我知道有一个类似的问题, [如果RESTAPI返回JSON,则为哪种MIME类型?,但我想要一个更有针对性的答案。 问题答案: 对于JSON文本:

  • 我试图在typescript中编写一个去Bounce函数,但不确定设置分配给setTimeout的变量的类型。我的代码如下所示:

  • 我正在创建一个组件,我希望元素类型是可配置的。 所以容器元素可以是上面的defaultProps中的元素,也可以是组件。 我不能得到的验证,我已经尝试了这个: 但它不能正确验证。 提供给的值的prop无效,

  • 问题内容: 我已经用Google搜索过两次,但仍然不了解超类型方法。谁能解释一下这是什么吗? 问题答案: OOPS中有超类型和子类型的概念,在Java中,这种关系是通过继承实现的,即使用关键字: 在超类中声明的任何成员(字段,方法)都称为超类型。 因此在上面的上下文中,如果类具有类似 Set是class的超类型方法。 但是,请注意,如果还有另一个类,请说: 然后,方法 不是类的 超类型 ,因为类与

  • 问题内容: 我在我的redux存储中存储了一个引用,并使用mapStateToProps公开了需要访问它的组件的引用。 存储的ref如下所示: 此引用的正确propType是什么? 问题答案: 如果您想要输入仅需要本机DOM元素(例如a或an)的引用,则正确的定义如下: 回答原始帖子中描述的特定问题 在OP问题的示例中,不是需要声明ref prop类型,而是由ref指向的东西,它将使用redux从

  • 我正在尝试构建一个私有模块,我知道它只会被另一个TypeScript项目使用。 据此,(https://github.com/Microsoft/TypeScript/issues/5225)我应该能够简单地导入我的其他项目,而不需要构建类型定义。 问题是,当我试图导入该库时,我缺少该库上任何依赖项的类型定义。 情况如下: 假设你有两个项目<代码>库和导入,这是一个纯类型脚本节点模块。 只是从导入