Contamos con la mejor solución que hallamos en todo internet. Esperamos que te sea de mucha utilidad y si puedes aportar alguna mejora hazlo con total libertad.
Solución:
Línea de comentarios: import ‘rxjs/add/operator/toPromise’;
Tu estas usando HttpModule
cual es obsoleto Deberías usar HttpClientModule
en cambio
se recomienda usar Observables over promises
. Al convertir a una promesa, perderá la capacidad de cancelar una solicitud y la capacidad de encadenar operadores RxJS.
Antes de poder usar el HttpClient
necesitas importar el Angular HttpClientModule
en el módulo raíz.
import NgModule from '@angular/core';
import BrowserModule from '@angular/platform-browser';
import HttpClientModule from '@angular/common/http';
@NgModule({
imports: [
BrowserModule,
HttpClientModule,
],
//.......
Código modificado:
import HttpClient from '@angular/http';
import Observable from 'rxjs';
export class WebService
constructor(private httpc:Http)
getMessages():Observable
return this.httpc.get("http://localhost:2000/messages");
Con respecto al error que está recibiendo
A partir de rxjs 5.5.0-beta.5+, toPromise
es ahora un método permanente de Observable
. Ya no necesitas importarlo Reference
Dado que está trabajando con RXJS 6+, le recomendaría que revise el Changes
LIVE DEMO WITH HTTPCLIENT
valoraciones y reseñas
Tienes la opción de añadir valor a nuestro contenido participando con tu experiencia en las explicaciones.