簡體   English   中英

打字稿回調類型不匹配

[英]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會推斷出resolvereject的類型,因此明確指定其類型是多余且不必要的冗長。

暫無
暫無

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

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