[英]typescript callback type mismatch
我在許多地方的回調中都有此代碼:
return new Promise<Result> (
(resolve : (Result ) =>void,reject: ( any) =>void) =>{
.......
});
我以為我會為此長類型創建一個接口:
interface callback<T> {
resolve : (value? :T ) =>void;
reject : (error? : any) =>void;
}
但是我不能在這樣的地方使用它:
return new Promise<Result> (
( c : Callback<Result> ) = > {
......
}
TS抱怨Callback無法解決:結果=>無效。
我該如何運作?
如果您以ES6為目標,則已經輸入了承諾;如果以ES5為目標,則已經輸入了墊片;對於非本地Promise庫,則有鍵入。 因此,您不需要為此編寫自己的類型定義。 構造諾言時,這是您唯一需要編寫的代碼:
new Promise<TypeOfResult>((resolve, reject) => {
// do yar thing
})
TypeScript會推斷出resolve
和reject
的類型,因此明確指定其類型是多余且不必要的冗長。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.