world versiones starter hello guide app angular typescript

versiones - install angular



Angular2-TypeError: this.http.get(…).toPromise no es una función (1)

Intento seguir el tutorial en angular.io ( Tour the Heroes ) Pero en lugar de un tutorial, intento realizar una solicitud GET real en algunos JSON.

Mi código se ve como:

private userUrl = ''https://jsonplaceholder.typicode.com/users''; constructor(private http: Http) {} getUsersHttp(): Promise<User[]> { return this.http.get(this.userUrl) .toPromise() .then(response => response.json().data as User[]) .catch(this.handleError); }

Para el servicio solo importo algunas cosas básicas:

import { Injectable } from ''@angular/core''; import { Headers, Http, Response } from ''@angular/http''; import { User } from ''./user'';

Donde user.ts es básicamente una copia de heroe.ts en TOH, así que:

export class User { id: number; name: string; }

Cómo llamo a este método específico en el servicio: primero intento varias cosas, pero mientras hago la depuración, solo intento la consola.log así:

console.log(this.userService.getUsersHttp());

Cuando la página se está cargando en la consola, encontré varios errores: el primero es:

EXCEPCIÓN: TypeError: this.http.get (...). ToPromise no es una función

El segundo es:

EXCEPCIÓN: TypeError: this.http.get (...). ToPromise no es una funciónBrowserDomAdapter.logError @

Servicio a sí mismo se ve bien. app.module.ts mi servicio a app.module.ts en esta línea:

providers: [ HTTP_PROVIDERS, UserService ]

y funciona si directamente devuelvo datos con alguna función como (y comento llamando a la función getUsertHttp ):

getUsers() { return [{''id'': 1, ''name'': ''User1''}, {''id'': 2, ''name'': ''User2''}]; }

Intento describir todo lo que puede ser importante, lo siento mucho si la pregunta es un poco larga. Por favor, chicos, ¿pueden darme una pista de lo que estoy haciendo mal?


Parece que te falta la importación:

import ''rxjs/add/operator/toPromise'';