La propriété 'toPromise" n'existe pas sur le type " Observables<Réponse>'
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);
}
}
J'obtiens cette erreur:
Propriété "toPromise" n'existe pas sur le type 'Observables'.tout
- Normalement, ce n'est pas une bonne idée de convertir les phénomènes observables dans les promesses. Les phénomènes Observables sont bien plus puissants
- Pour quelqu'un d'autre qui trébuche sur ce (c'était le top de google lien pour moi), voir ci-dessous, qui vient de l'un des sites les réponses github.com/Microsoft/TypeScript/issues/... Comme il est dit, dans Visual Studio 2015, vous pouvez résoudre ce problème en mettant à jour votre version de la machine à l'aide de microsoft.com/en-us/download/details.aspx?id=48593
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter l'opérateur comme ceci:
Ce qui est nécessaire pour chaque rxjs de l'opérateur que vous souhaitez utiliser.
Essayer d'ajouter de la "Réponse" à votre déclaration d'importation à partir de '@angulaire/http'
comme ceci :
Aussi, j'ai remarqué que vous n'importez pas les Ingectable angulaires de base
bien que vous utilisez @Injectable décorateur.
utiliser cette importation au début