問題一覧に戻る
中級高度な型
問題40: Awaited'<'T'>'

Awaited'<'T'>'ユーティリティ型を使って、Promise型から内部の型を取得する方法を学びます。非同期処理の結果の型を扱う際に便利です。ネストしたPromiseも再帰的に展開されます。

// Promise型の定義
type PromiseString = Promise<string>;
type NestedPromise = Promise<Promise<number>>;

// Awaited型の使用
type UnwrappedString = <PromiseString>;
type UnwrappedNumber = <NestedPromise>;

// Awaited型を使った関数
async function fetchData<T>(promise: Promise<T>): Promise<<Promise<T>>> {
const result = await promise;
return result;
}