【发布时间】:2016-12-10 18:23:53
【问题描述】:
我有一个示例 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");
}
});
}
【问题讨论】:
-
你试过
Promise<number|string>吗? -
这样做不会抱怨。这是正确的做法吗?可以同时指定resolve和reject的类型吗?
标签: generics typescript