尝试从可观察对象中获取一个筛选后的值数组时,出现了以下错误:
错误消失了,但属性orderNumber不再被识别,而且Intellisense提示:
代码如下:Type 'Observable' must have a 'Symbol.iterator' method that returns an 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) {
to
for (const orderItem of [orderItems]) {
错误消失了,但属性orderNumber不再被识别,而且Intellisense提示:
类型“Subscription”上不存在属性“orderNumber”
那我该如何修复它呢?