【发布时间】:2018-07-15 21:07:59
【问题描述】:
我有 is generic 函数类型:
export type EVCb<T> = (err: any, val?: T) => void;
该类型可以这样使用:
const v = function(cb: EVCb<boolean>){
cb(null, true); // compiles correctly
};
const v = function(cb: EVCb<boolean>){
cb(null, 'yo'); // does not compile
};
但我想知道是否有办法为错误参数添加optional 类型,因为现在它总是any。像这样:
export type EVCb<T, E?> = (err: E | any, val?: T) => void;
用户会这样使用它:
EVCb<boolean, Error>
或者他们可以选择省略第二个参数,然后这样做:
EVCb<boolean>
这有可能吗?
【问题讨论】:
标签: typescript typescript2.0 tsc