2017-04-18 8 views
0

ため、プレーンオブジェクトにマップを回す私はこれを持っている:TS宣言

let cachedPromises: Map<string, Promise<any>> = new Map(); 

プレーンなオブジェクトのための同等の宣言は何ですか?

このような何か:

interface IMyMap { 
    [key: string]: Promise<any> 
} 

let cachedPromises: IMyMap = {}; 

は十分なのですか?

+2

うんを、それはそう十分。 – toskv

答えて

1

これで十分ですが、それはあなたが約束を返さない任意のプロパティがあるクラスのインターフェイスを実装することができないという点で、両刃の剣のように来るん:

class Person implements IMyMap { 
    [key: string]: Promise<any> 
    constructor(private firstName) { // Error: Property 'firstName' of type 'string' is not assignable to string index type 'Promise<any>'. 
    } 
}