迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > TypeScript >

TypeScript 中 setTimeout 的返回类型

作者:迹忆客 最近更新:2023/03/12 浏览次数:

setTimeout() 是一种用于在指定的时间(以毫秒为单位)后调用函数的方法。此方法充当计时器,并在计时器到期后执行代码。

setTimeout() 不能多次执行;它只能执行一次。如果需要重复执行,则应使用 setInterval() 方法而不是 setTimeout()

此外,setTimeout() 也称为异步函数。它不会一次执行一项任务。

取而代之的是,在执行另一个功能时,会执行按优先顺序执行的较晚功能。因此,可以执行异步函数,但不能用于在函数堆栈中的函数之间创建暂停。

本文将解释 setTimeout() 函数的返回类型以及如何在 TypeScript 中指定它。

TypeScript 中 setTimeout() 的返回类型

没有必要通过让类型推断识别并返回正确的返回类型来指定返回类型。

如果在逻辑上必须建立返回类型,我们可以使用两种主要方法,例如浏览器和节点声明之间没有一致性的实例。

可以使用 ReturnType 方法,以便 setTimeout() 的返回类型和变量类型相同。另一种方法是 window.setTimeout(),它将返回实际的返回类型。

在 TypeScript 中使用 ReturnType 指定 setTimeout() 的返回类型

我们可以使用的一种方法是 ReturnType。它不指定特定类型,而是让类型自动推断。

const timer: ReturnType<typeof setTimeout> = setTimeout(() => {
    console.log("Hi!")
}, 3000);

输出:

Hi!

上述代码的输出将在代码执行三秒后出现。

考虑另一个示例,我们将返回类型指定为 number

const timer: number = setTimeout(() => {
    console.log("Hi!")
}, 2000);

输出:

Hi!

上述方法在 Node.js 中会遇到错误。

在 Node.js 计时器中,返回的是对象而不是数字返回值。因此,我们可以使用 window.setTimeout() 来避免这种情况。

在 TypeScript 中使用 window.setTimeout() 指定 setTimeout() 的返回类型

window.setTimeout()setTimeout() 都执行类似的功能,但它们在不同的地方执行。window.setTimeout() 只能在浏览器上执行它的操作,而 setTimeout() 可以在任何地方执行它的操作。

当不使用浏览器时,我们可以调用全局对象的方法,而不需要引用该对象。但是,当 TypeScript 或 JavaScript 在浏览器上运行时,文档对象模型 (DOM) 负责提供全局对象。

因此,windowwindow.setTimeout() 中指定,因为文档对象模型指定全局对象具有 window 属性。

语法:

window.setTimeout(function() {}, 0);

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 TypeScript 中返回一个 Promise

发布时间:2023/03/19 浏览次数:182 分类:TypeScript

本教程讨论如何在 TypeScript 中返回正确的 Promise。这将提供 TypeScript 中 Returns Promise 的完整编码示例,并完整演示每个步骤。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便