0
JSONオブジェクト用のインターフェイスを作成したいと思います。それはnの不明な名前のキーを持ち、各値は特定の署名を持つ関数の配列です。特定の関数の配列を含むJSONオブジェクト用のインターフェイスの作成方法
// CLASSES
class Server {
// Private variables
mapping : IMapping = {}
// Public functions
public use(endPoint = "", handler : IHandler) : void {
// Check if the end point exists in the mapping
if(this.mapping[endPoint] === undefined) {
this.mapping[endPoint] = {
[endPoint] : [handler]
};
} else {
}
}
}
// INTERFACES
interface IMapping
{
[key : string] : IHandler[];
}
interface IHandler {
(req : object, res : object, next : object) : void;
}
私のコードは、上の失敗:
Type '{ [x: string]: IHandler[]; }' is not assignable to type 'IHandler[]'.
Property 'length' is missing in type '{ [x: string]: IHandler[]; }'.
ありがとう!この場合、次のように修正します: //マッピングにエンドポイントが存在するかどうかを確認します。そうでない場合は、 を作成します(this.mapping [endPoint] ===未定義){ this.mapping [endPoint] = []; } //エンドポイントをハンドラに関連付けます。 this.mapping [endPoint] .push(ハンドラ); – Giovarco