0
私は活字体に新しいですし、私は次のコード活字無効左側私はこのエラーを取得するのにオペレータ
すべてでHTTPを使用しようとしていますときに私はチュートリアルの最後の章では、チュートリアルTour of heroes from angular pageを以下のAMは正常に動作typescriptコンパイラから。このエラーの私は、エラーのために同期されていないbrowsersyncので、ブラウザを更新する必要があるため
問題があります。
私の体はここで助けてくれますか?続き
はあなたがタイプのHEROESを宣言コード
Hero.service.ts
import { HEROES }from './mock.heroes';
import { Hero } from './hero';
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class HeroService {
url: string;
constructor(private http: Http){
this.url = "http://jsonplaceholder.typicode.com/users";
this.http = http;
}
getHeros(): Promise<Hero[]> {
if(!HEROES || HEROES.length == 0) {
return this.http.get(this.url)
.toPromise()
.then(response => {
HEROES = response.json();
});
} else {
let promise: Promise<Hero[]> = new Promise<Hero[]>(function(resolve, reject){
resolve(HEROES);
});
return promise;
}
}
}
mock.heroes.ts
import { Hero } from './hero';
export var HEROES: Hero[];
を任意の機能を持っている場合、私はむしろ、応答データのループとそれを通してHERO配列を構築し、Object.assignを使用することをお勧めし結果
HEROES = <HERO[]>response.json()
をキャストする必要がありますありがとうabhiそれはjson array.Response.json()の上にループjson配列を返すjavascriptのオブジェクト配列を返したが、私はヒーローに直接キャストできませんでした[ –
:)受け入れられた答え – abhirathore2006