typescript - tanda tangan metode yang dapat digunakan kembali di file d.ts


Bagaimana seseorang membuat tanda tangan metode yang dapat digunakan kembali

declare module "mymodule" {

export function foo1(x: string, y: number): any;
export function foo2(x: string, y: number): any;
export function foo3(x: string, y: number): any;

}

Saya bisa membuat antarmuka

interface IFoo {
    (x: string, y: number): any;
}

Tapi saya tidak bisa melakukan:

export function foo: IFoo

setidaknya tidak dengan cara ini, apa yang salah yang saya lakukan di sini?

Jawaban #1

tapi kamu bisa melakukan :

let bar : IFoo;
bar = foo;

dan ini akan benar secara sintaksis. Anda tidak perlu mengekspor tipe saat mengekspor fungsi. Tetapi di tempat Anda mengimpornya, Anda dapat menetapkan fungsi ke variabel yang bertipe antarmuka apa pun.

Berikut adalah contoh taman bermain yang sederhana