Tapuscrit promesse de type générique
J'ai un exemple de Promesse de fonction comme ci-dessous. Sur le succès-je retourner un number
et sur de fausses-je retourner string
. Le compilateur se plaint de spécifier une sorte de type générique de la promesse. Dans ce cas, quel type dois-je le préciser? Dois-je spécifier comme Promise<number>
ou Promise<number | string>
?
function test(arg: string): Promise {
return new Promise((resolve, reject) => {
if (arg === "a") {
resolve(1);
} else {
reject("1");
}
});
}
Avez-vous essayé
Il ne se plaint pas à faire ça. Est-ce la bonne chose à faire? Est-il ok pour spécifier les types de résoudre et de les rejeter?
Promise<number|string>
?Il ne se plaint pas à faire ça. Est-ce la bonne chose à faire? Est-il ok pour spécifier les types de résoudre et de les rejeter?
OriginalL'auteur VJAI | 2016-12-10
Vous devez vous connecter pour publier un commentaire.
Le type générique de la Promesse doit correspondre à la non-retour en cas d'erreur-type de la fonction. L'erreur est implicitement de type
any
et n'est pas spécifié dans la Promesse de type générique.Ainsi, par exemple:
OriginalL'auteur Dave Templin