簡體   English   中英

TypeScript界面​​中的箭頭函數,返回類型為void

[英]Arrow function in typescript interface with return type as void

我試圖在下面的類型腳本接口中編寫箭頭函數,但出現錯誤“類'ToastrService'錯誤地實現了接口'IToastr'。”

interface IToastr{
    (message:string,title:string):void;
}

@Injectable()
export class ToastrService implements IToastr {
    (message:string,title:string):void {
         toastr.success(message,title);
    }
}

我的問題是:我們可以在TS接口中以返回類型為void定義函數簽名嗎?

我也嘗試過搜索google,但沒有找到任何示例。 謝謝 !!

您正在做的事情似乎很好,只是缺少該函數的名稱(或者,如果這是一個構造constructor則缺少constructor關鍵字)

interface IToastr{
    toast(message:string,title:string):void;
}

@Injectable()
export class ToastrService implements IToastr {
    toast(message:string,title:string):void {
         toastr.success(message,title);
    }
}

對的,這是可能的。 請查閱官方打字稿以獲取更多信息。

范例1:

interface SearchFunc {
    (source: string, subString: string): void;
}
let mySearch: SearchFunc;
mySearch = function(source: string, subString: string) {
    // do smth
}

示例2:解決方案:您應該為函數命名

interface IToastr{
    FuncName(message:string,title:string):void;
}

class ToastrService implements IToastr {
    FuncName(message:string,title:string):void {
         // toastr.success(message,title);
    }
}

暫無
暫無

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

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