2016-12-28 6 views
0

私は活字体に新しいですし、私は次のコード活字無効左側私はこのエラーを取得するのにオペレータ

すべてでHTTPを使用しようとしていますときに私はチュートリアルの最後の章では、チュートリアルTour of heroes from angular pageを以下のAMは正常に動作typescriptコンパイラから。このエラーの私は、エラーのために同期されていないbrowsersyncので、ブラウザを更新する必要があるため

enter image description here

問題があります。

私の体はここで助けてくれますか?続き

はあなたがタイプの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[]; 

答えて

1

ですヒーローあなたはそれにJsonを割り当てます。

あなたはHEROクラスで

+0

を任意の機能を持っている場合、私はむしろ、応答データのループとそれを通してHERO配列を構築し、Object.assignを使用することをお勧めし結果

HEROES = <HERO[]>response.json()

をキャストする必要がありますありがとうabhiそれはjson array.Response.json()の上にループjson配列を返すjavascriptのオブジェクト配列を返したが、私はヒーローに直接キャストできませんでした[ –

+0

:)受け入れられた答え – abhirathore2006

関連する問題