我有一个示例 Promise 函数,如下所示。成功时,我返回 number
,错误时返回 string
。编译器抱怨为 Promise 指定某种泛型类型。在这种情况下,我必须指定什么类型?我是否必须指定像 Promise<number>
或 Promise<number | string>
?
function test(arg: string): Promise {
return new Promise((resolve, reject) => {
if (arg === "a") {
resolve(1);
} else {
reject("1");
}
});
}
原文由 VJAI 发布,翻译遵循 CC BY-SA 4.0 许可协议
Promise 的泛型类型应该对应于函数的非错误返回类型。该错误隐式属于
any
类型,并且未在 Promise 泛型类型中指定。例如: