Я пытался реализовать функцию getProblems
, чтобы получить все проблемы в своем массиве.Но я всегда получаю сообщение об ошибке, показывающее res.json()
, говорящее
Обещание не может быть назначено параметрам типа Проблема [].
Я думаю, что функция конвертируетответ как обещание и отображение его в Problem[]
с помощью "res.json" и передача его в BehaviorSubject
.
import { Injectable } from '@angular/core';
import { Problem } from '../models/problem.model';
import { HttpClient, HttpResponse, HttpHeaders } from '@angular/common/http';
import { BehaviorSubject} from 'rxjs';
import { Observable } from 'rxjs';
@Injectable()
export class DataService {
private problemsSource = new BehaviorSubject<Problem[]>([]);
constructor(private http: HttpClient) { }
getProblems(): Observable<Problem[]> {
this.http.get('api/problems')
.toPromise()
.then((res: Response) => {
this.problemsSource.next(res.json());
})
.catch(this.handleError);
return this.problemsSource.asObservable();
}
PS Я новичок в Angular
, и я пытался переработать некоторые коды изпредыдущий проект.Поскольку Angular
устарел в некоторых API, следующий код не работает, но я не мог найти новый способ его реализации.