属性 'toPromise' 在类型 'Observable<Response>' 上不存在
Property 'toPromise' does not exist on type 'Observable<Response>'
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);
}
}
我收到这个错误:
Property 'toPromise' does not exist on type 'Observable'.any
您需要像这样添加运算符:
import 'rxjs/add/operator/toPromise';
这是您要使用的每个 rxjs 运算符所必需的。
尝试将 'Response' 添加到来自“@angular/http”的导入语句
像这样:
import {Http, Headers, Response} from '@angular/http';
我还注意到你没有从 angular 核心导入 Ingectable
尽管你使用了@Injectable 装饰器。
import { Injectable } from '@angular/core';
在开头使用这个导入
import {Observable} from "rxjs/Rx";
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);
}
}
我收到这个错误:
Property 'toPromise' does not exist on type 'Observable'.any
您需要像这样添加运算符:
import 'rxjs/add/operator/toPromise';
这是您要使用的每个 rxjs 运算符所必需的。
尝试将 'Response' 添加到来自“@angular/http”的导入语句 像这样:
import {Http, Headers, Response} from '@angular/http';
我还注意到你没有从 angular 核心导入 Ingectable 尽管你使用了@Injectable 装饰器。
import { Injectable } from '@angular/core';
在开头使用这个导入
import {Observable} from "rxjs/Rx";