📘
【TypeScript】クラスの async 関数の返り値の型を取得する
✨ 最初に結論
まずは結果から言いますと、こうしました。
class User {
async getUser(id: number): Promise<{ id: number; name: string; email: string }> {
// DB とかからデータを取ってきたとして
const user = {
id,
name: 'hoge',
email: 'sample@hoge.com',
}
return user
}
}
// ↓ ここ
type Profile = Awaited<ReturnType<User['getUser']>>
Awaited
や ReturnType
については、この記事で知りました。
最初は Awaited
付け忘れて Promise になってしまったり・・・
🐶 さいごに
自分が忘れないようにと、備忘録としてのメモです。
ただ、クラスの関数を指定する方法が強引な気もしますが、ご了承ください。🙇♀️
以上です!
Discussion