Пытаясь получить отфильтрованный массив значений из наблюдаемой, я получил следующую ошибку:
Тип 'Observable' должен иметь метод Symbol.iterator, который возвращает итератор.
Код:
export class ItemsService {
orderItems: OrderItem[] = [];
orderItemsUrl = 'http://localhost:5000/order-items/';
getOrderItemsFromHttp(selectedOrderNumber): Observable<OrderItem[]> {
const tempArr = [];
const orderItems = of (this.http.get<OrderItem[]>(`${this.orderItemsUrl}`)
.subscribe(res => {
this.orderItems = res;
}) );
for (const orderItem of orderItems) { <--- Error here
if (orderItem.orderNumber === selectedOrderNumber) {
tempArr.push(orderItem);
}
}
return of(tempArr);
}
}
Если я изменю следующее
for (const orderItem of orderItems) {
на
for (const orderItem of [orderItems]) {
, ошибка исчезнет, но свойство orderNumber больше не распознается, и intellisens говорит:
Свойство 'orderNumber' не существует для типа 'Подписка'
Так как я могу это исправить, пожалуйста?