で戻り値の型を指定:私はしかし私は私が私の見解ではそれらを反復処理することができるように配列にハッシュを変換するためにマップを使用したデータへのアクセス方法持ってangular2 typescriptです方法
public getCrawlsStatuses():Observable<ICrawlsStatus[]> {
let _statusesURL:string = `${this.API_URL}/crawl_statuses`;
return this._http.get(_statusesURL)
.map((res:Response) => {
let statuses:ICrawlsStatus[] = [];
Object.keys(res.json()).map(key => {
statuses.push({
name: key,
total: res.json()[key]
})
});
return statuses;
})
.catch(CrawlsService.onError);
}
をこれだけでの観察可能なマップメソッドの戻り値を利用してマッピングを短縮することを決定し、変数は少し冗長のステータス見つける:彼らがする必要があるとして
型チェックの面でpublic getCrawlsStatuses():Observable<ICrawlsStatus[]> {
let _statusesURL:string = `${this.API_URL}/crawl_statuses`;
return this._http.get(_statusesURL)
.map((res:Response) => {
return Object.keys(res.json()).map(key => {
return {
name: key,
total: res.json()[key]
}
});
})
.catch(CrawlsService.onError);
}
これは、ここの外のコンポーネントの[OK]を動作しますcrawlsStatuses: ICrawlsStatus[];
を期待するが、私の人生のために私はca返されたキーは、私のインターフェイスと一致しない場合、私はエラーを取得したいと思い
return <ICrawlsStatus>{
name: key,
total: res.json()[key]
}
:ようなもの、に内部的にタイプを持つように返されたオブジェクトを作るための方法を見つけることができません。例えば名前、完全に....
これは面白いですが、この場合、結果は多かれ少なかれ冗長変数になります。私はICrawlsStatus型を返す1つのライナーのほうが望ましいと思っていました。それは不可能ですか? – XGreen
また、タイプアサーションに関しては、それを実行していた場合にタイプをここに含めることを試みていないでしょうか? – XGreen