我有一个示例Promise函数,如下所示。成功时返回a 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");
}
});
}
Promise的通用类型应与函数的非错误返回类型相对应。该错误是隐式类型的any
,未在Promise通用类型中指定。
因此,例如:
function test(arg: string): Promise<number> {
return new Promise<number>((resolve, reject) => {
if (arg === "a") {
resolve(1);
} else {
reject("1");
}
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句