angular - 类型 'toPromise' 上不存在属性 'Observable<Response>'

标签 angular typescript rxjs angular2-services

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 运算符所必需的。

关于angular - 类型 'toPromise' 上不存在属性 'Observable<Response>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38090989/

相关文章:

angular - 如何确保BehaviorSubject始终具有值?

javascript - 在 promise 的 then() 内中断 for 循环

javascript - 如何按键对对象数组进行排序?

javascript - 将 ES5 JavaScript 用于 Angular 2 应用程序和使用 TypeScript 的优缺点是什么?

reactjs - 'children' Prop 的类型是什么?

javascript - 有没有办法既解构函数参数,又保留对参数的命名引用?

angular - RxJS 将 catch() 添加到已共享的 Observable

angular - NG Bootstrap 封装问题

Angular:不推荐使用 create:改用 new Observable()

angular - 有没有办法根据另一个属性(TypeScript)的值来更改接口(interface)属性是否可选?