TypeScriptTypes utilitaires
Awaited<Type>
Récupère le type de la valeur que produit un await sur une promesse.
Exemple
#TypeScript
async function loadCourses() {
return [
{ title: 'HTML et CSS', modules: 11 },
{ title: 'Python', modules: 12 }
]
}
type Courses = Awaited<ReturnType<typeof loadCourses>>
// type Courses = { title: string; modules: number }[]
const courses: Courses = await loadCourses()
console.log(courses.map((c) => c.title))Résultat
['HTML et CSS', 'Python']
Définition et utilisation
#Awaited<Type> déballe les promesses comme le fait await : Awaited<Promise<string>> est string. Il gère aussi les promesses imbriquées, en les déballant jusqu’au bout.
On l’utilise le plus souvent avec des fonctions asynchrones : Awaited<ReturnType<typeof fetchCourses>> est le type des données que vous obtenez réellement après await fetchCourses().
Sur des types qui ne sont pas des promesses, Awaited ne change rien, donc il peut être utilisé sans risque dans des types génériques.
Syntaxe
#Syntaxe
type Value = Awaited<PromiseType>Paramètres de type
#Type
type quelconque
Le type à déballer des promesses.
Bonnes pratiques
#- Retenez le schéma
Awaited<ReturnType<typeof fn>>pour les fonctions asynchrones. - Le type de
Promise.allsur un tableau de promesses est aussi calculé parAwaitedpour chaque élément.
Entrées associées
#Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.