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);
}
}
我收到此错误:
类型“Observable”上不存在属性“toPromise”。任何
您需要像这样添加运算符:
import 'rxjs/add/operator/toPromise';
这对于您要使用的每个 rxjs 运算符都是必需的。
尝试从“@angular/http”向您的导入语句添加“响应”,如下所示:
import {Http, Headers, Response} from '@angular/http';
我还注意到,尽管您使用 @Injectable 装饰器,但您并没有从角核心导入 Ingectable。
import { Injectable } from '@angular/core';
在开始时使用此导入
import {Observable} from "rxjs/Rx";