Каков правильный способ получить json-данные из http get in Angular 2. Я работаю над тестированием некоторых локальных данных с издетой конечной точкой, и я вижу результат в http.get()
, но я не могу назначить это локально или существует некоторая проблема времени. Вот мой простой сервис:
import {Injectable} from '@angular/core';
import {Http} from '@angular/http';
import 'rxjs/add/operator/map'; // we need to import this now
@Injectable()
export class MyHttpService {
constructor(private _http:Http) {}
getDataObservable(url:string) {
return this._http.get(url)
.map(data => {
data.json();
console.log("I CAN SEE DATA HERE: ", data.json());
});
}
}
И вот как я пытаюсь назначить данные:
import {Component, ViewChild} from "@angular/core";
import { MyHttpService } from '../../services/http.service';
@Component({
selector: "app",
template: require<any>("./app.component.html"),
styles: [
require<any>("./app.component.less")
],
providers: []
})
export class AppComponent implements OnInit, AfterViewInit {
private dataUrl = 'http://localhost:3000/testData'; // URL to web api
testResponse: any;
constructor(private myHttp: MyHttpService) {
}
ngOnInit() {
this.myHttp.getDataObservable(this.dataUrl).subscribe(
data => this.testResponse = data
);
console.log("I CANT SEE DATA HERE: ", this.testResponse);
}
}
Я могу видеть данные, которые я хочу в вызове get(), но после этого вызова у меня нет доступа к нему... скажите, пожалуйста, что я делаю неправильно!