TypeScript 面试题
目录

请解释 TypeScript 中的 Awaited<T> 的作用和实现原理

· 约 2 分钟读完 · 第 137 / 256 章

推荐答案

Awaited<T> 是 TypeScript 4.5 引入的一个实用类型,用于递归地解包 Promise 类型,最终返回 Promise 的解析值类型。它主要用于处理嵌套的 Promise 类型,确保能够获取到最终的解析值类型。

本题详细解读

作用

Awaited<T> 的主要作用是递归地解包 Promise 类型,直到获取到 Promise 的最终解析值类型。这在处理异步操作时非常有用,尤其是在处理嵌套的 Promise 时,能够确保类型推断的准确性。

实现原理

Awaited<T> 的实现原理是通过递归类型解析来实现的。TypeScript 的类型系统能够递归地解析 Promise 类型,直到获取到最终的解析值类型。以下是 Awaited<T> 的实现方式:

示例

在这个示例中,Awaited<T> 能够正确地解析出嵌套 Promise 的最终解析值类型。