2016-07-16 2 views
1

Я играю с угловыми 2 и учебниками по героям. Проблема в том, что я всегда получаю пустой объект независимо от того, какой api я вызываю.Угловой 2 - Нет данных afte api call

Вот код:

app.compomnent.ts

import { Component, OnInit }   from '@angular/core'; 
import { Http, Response } from '@angular/http'; 

// Add the RxJS Observable operators we need in this app. 
import './rxjs-operators'; 

@Component({ 
    selector: 'my-app', 
    template: ` 
    <h1>Test</h1> 
    ` 
}) 
export class AppComponent implements OnInit { 

    constructor(private http: Http) {} 

    private error: any; 

    ngOnInit() { 

    var request = this.http.get('http://date.jsontest.com'); 

    console.log("Request: " + request); 
    console.log("Map: " + request.map(res => res)); 

    console.log("Complete: " + this.http.get('http://date.jsontest.com') 
     .map(res => res.json()) 
     .catch(this.error)); 
    } 
} 

main.ts:

// The usual bootstrapping imports 
import { bootstrap }  from '@angular/platform-browser-dynamic'; 
import { HTTP_PROVIDERS } from '@angular/http'; 

import { AppComponent } from './app.component'; 

bootstrap(AppComponent, [ 
    HTTP_PROVIDERS 
]); 

В результате в моей консоли:

enter image description here

+0

Почему вы думаете, что это пустой объект? Если вы зарегистрируете его самостоятельно, вы можете проверить содержимое объекта: 'console.log (request.map (result => res));' – Sjoerd

+0

@Sjoerd Хорошо, но как я могу получить данные 'http:// date.jsontest.com'. Объект просто выглядит как «Наблюдаемый (_isScalar: false, source: Observable, operator: MapOperator)». И также в объекте я не могу найти предполагаемые данные 'http: // date.jsontest.com'. – user1830414

ответ

2

Observable не делать ничего, пока вы не подписаться на него, потому что они ленивы

ngOnInit() { 
    this.http.get('http://date.jsontest.com') 
     .map(res => res.json()) 
     .subscribe(
      data => this.data = data, 
      () => console.log('done'), 
      err => this.error(err)); 
    } 
Смежные вопросы