import { Headers, Http } from '@angular/http';
@Injectable()
export class PublisherService{
private publishersUrl = 'app/publisher';
constructor(private http: Http) { }
getPublishers(): Promise<Publisher[]>{
return this.http.get(this.publishersUrl)
.toPromise()
.then(response => response.json().data)
.catch(this.handleError);
}
}
Ich erhalte diesen Fehler:
Die Eigenschaft 'toPromise' ist für den Typ 'Observable' nicht vorhanden
angular
typescript
rxjs
angular2-services
MiHawk
quelle
quelle
Antworten:
Sie müssen den Operator folgendermaßen hinzufügen:
import 'rxjs/add/operator/toPromise';
Dies wird für jeden rxjs-Operator benötigt, den Sie verwenden möchten.
quelle
Versuchen Sie, Ihrer Importanweisung von '@ angle / http' wie folgt 'Antwort' hinzuzufügen:
import {Http, Headers, Response} from '@angular/http';
Außerdem ist mir aufgefallen, dass Sie Ingectable nicht aus dem Winkelkern importieren, obwohl Sie @Injectable Decorator verwenden.
import { Injectable } from '@angular/core';
quelle
Verwenden Sie diesen Import am Anfang
import {Observable} from "rxjs/Rx";
quelle