http-вызов Angular 2

#angular

#angular

Вопрос:

Я немного запутался в том, как выполнить http get вызов. Мой app.service выглядит так:

 import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Rx';

@Injectable()
export class AppService {
constructor(private http: Http){}
    fetchData(){
    return this.http.get('http://date.jsontest.com/').map(
        (res) = > res.json()
        ).subscribe(
        (data) => console.log(data)
    );
    }
}
  

Это приводит к ошибке Cannot find name 'res' .

В моем app.module есть HttpModule.

Просмотрев документ Angular 2 по HTTP-запросам, у них есть что-то вроде getHeroes (): Observable<Hero[]> . Но я не уверен точно, что содержится под import { Hero } from './hero'; строкой.

Ответ №1:

Строка

(res) = > res.json()

это должно быть

(res) => res.json

Комментарии:

1. Вау. Я безнадежен. Тем не менее, после исправления этого я получаю другую ошибку. На этот раз он говорит this.http.get(...).map is not a function

2. Понял. Затем мне пришлось импортировать import 'rxjs/Rx';

3. Я как раз собирался сказать, что вы можете просто импортировать только оператор map из rxjs вместо всей библиотеки rxjs