#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