簡體   English   中英

帶有TypeScript的可選通用類型

[英]Optional generic type with TypeScript

我有一個泛型函數類型:

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 
};

但我想知道是否有一種方法可以為error參數添加optional類型,因為現在它始終是any 像這樣的東西:

export type EVCb<T, E?> = (err: E | any, val?: T) => void;

用戶將這樣使用它:

EVCb<boolean, Error>

或者他們可以選擇省略第二個參數,然后執行以下操作:

EVCb<boolean>

這有可能嗎?

如果您提供類型參數的默認值,則它可以是可選的:

export type EVCb<T, E = any> = (err: E, val?: T) => void;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM