Estoy tratando de hacer una llamada API a la base de datos de mi servidor, pero actualmente no funciona.
Tengo el siguiente error:
Type 'Subscription' is not assignable to type 'Observable<Comment[]>'. Property '_isScalar' is missing in type 'Subscription'.
¿Qué estoy haciendo mal y por qué?
import { Injectable } from '@angular/core'; import { Http, RequestOptions, URLSearchParams } from '@angular/http'; import {Observable} from 'rxjs/Observable'; import { Comment } from './models/comment' import 'rxjs/add/operator/map'; @Injectable() export class CoreService { constructor(private http: Http, private URLSearchParams : URLSearchParams) { } options = []; result = []; getUserByName(name: string): Observable<Comment[]> { let url = "http://localhost:8080/api"; return this.http.get(url) .map(response => response.json()) .subscribe(result => this.result = response); } }
comentario:
export class Comment { constructor( public text:string ){} }
Creo que está intentando suscribirse a getUserByName()
dentro de su componente.
Si ese es el caso, debe eliminar la suscripción de su servicio.
Puede cambiarlo con el operador do()
para "almacenar en caché" sus datos.
return this.http.get(url) .map(response => response.json()) .do(result => this.result = response);