我具有is泛型函数类型:
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>
这有可能吗?
答案 0 :(得分:4)
如果您提供类型参数的默认值,则它可以是可选的:
<!DOCTYPE html>
<html>
<head>
<title>Google Tag Manager</title>
</head>
<body>
<div class="select">
<select id="sel_box" name="paymentopt">
<option selected="selected" value>Except Me</option>
<option value="opt1">My Opt1</option>
<option value="opt2">My Opt2</option>
<option value="opt3">My Opt3</option>
</select>
</div>
</body>
</html>