2017-06-11 16 views
0

に型情報を追加し、私持っているこのエクスポート機能:エクスポート機能

export function foo(){ 

    setTimeout(function(){ 
    foo.x = y;    // add a property to foo fn 
    },3000); 

} 

私はfooは「X」と呼ばれる性質を有することが活字体で宣言することができますか?

export const foo : FooType = function(){ 

     setTimeout(function(){ 
     foo.x = y;    // add a property to foo fn 
     },3000); 

    } 

FooTypeのようなインタフェースです:

interface FooType { 
    foo?: YType 
} 

が、私は解決策が機能することはないと思う

私の唯一の推測では、このような何かをすることです。

答えて

1

あなたのインターフェイスが機能するはずです。実際には、関数シグネチャ自体をインタフェースに追加することができます。

interface FooType { 
    (): void; 
    x?: string 
} 

export const foo: FooType = function() { 
    setTimeout(function() { 
     foo.x = "some value"; 
    }, 3000); 
} 
関連する問題