Почему я получаю эту ошибку в приложении Angular? Свойство toPromise не существует для типа Observable‹Response›

Я новичок в Angular2/4, и у меня возникли проблемы с выполнением этого руководства, связанного с PrimeNG:

https://www.primefaces.org/primeng/#/schedule

Я создал класс EventService в файле моего проекта следующим образом:

import {Injectable} from '@angular/core';
import {Http} from '@angular/http';

@Injectable()
export class EventService {

  constructor(private http: Http) {}

  getEvents() {
    return this.http.get('showcase/resources/data/scheduleevents.json')
      .toPromise()
      .then(res => <any[]> res.json().data)
      .then(data => { return data; });
  }
}

Проблема в том, что WebStorm выдает мне ошибку в методе toPromise(), он говорит:

Error:(11, 8) TS2339:Property 'toPromise' does not exist on type 'Observable<Response>'.

Почему? Что это значит? В чем проблема? Как я могу попытаться это исправить?


person AndreaNobili    schedule 11.08.2017    source источник
comment
Возможный дубликат свойства 'toPromise' не существует для типа 'Observable‹Response ›'   -  person AJT82    schedule 12.08.2017
comment
Сколько времени вы потратили на написание этого вопроса, возможно, вы могли бы просто погуглить сообщение об ошибке и найти ответ? ;)   -  person AJT82    schedule 12.08.2017


Ответы (1)


Вам нужно импортировать оператор следующим образом:

import 'rxjs/add/operator/toPromise';
person Sajeetharan    schedule 11.08.2017