У меня возникли проблемы с настройкой простого запроса GET с REST API.
В демонстрационных целях я использовал эту конечную точку REST: https://jsonplaceholder.typicode.com/posts/1 а>
Кажется, что все полученные данные теряются при выходе из области действия метода subscribe. Я следовал нескольким руководствам, в которых также говорилось, что я получу ошибку при доступе к атрибутам без приведения типов, но у меня это работает нормально. Почему это так?
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import * as _ from 'lodash';
@Injectable()
export class TestService {
constructor(private http : HttpClient ) { }
private URI = 'https://jsonplaceholder.typicode.com/posts/1';
o : object;
//Object { userId: 1, id: 1, title: "sunt aut facere repellat provident
//…", body: "quia et suscipit suscipit recusanda…" }
getData(): void
{
this.o = this.http.get(this.URI ).subscribe();
this.http.get<Post>(this.URI ).subscribe(response => {
console.log(response)//shows up
this.o = response;
console.log(this.o);//shows up
} );
console.log(this.o);//undefined
}
}
interface Post{
userId: number;
id : number;
title : string;
body : string;
}
this.o = this.http.get(this.URI ).subscribe();
? - person Hareesh   schedule 14.11.2017