如何将数组转换为角度为6的可观察数组。 我试图在拥有数组的同时返回一个可观察的对象。我这样做是为了代替HTTP请求,而可以返回硬编码的数据。
我有以下界面:
export interface IProduct {
productId: number;
productName: string;
productCode: string;
releaseDate: string;
description: string;
price: number;
starRating: number;
imageUrl: string;
}
然后我有此服务:
export class ProductService {
products: IProduct[];
getProducts(): Observable<IProduct[]> {
this.products = [
{
'productId': 2,
'productName': 'Black cat',
'productCode': 'GDN-001',
'releaseDate': 'March 18, 2018',
'description': 'Can punch peoples faces.',
'price': 32.00,
'starRating': 5,
'imageUrl': 'https://placekitten.com/400/420'
},
{
'productId': 3,
'productName': 'T Cat',
'productCode': 'GDN-002',
'releaseDate': 'March 18, 2018',
'description': 'Can shoot guns.',
'price': 32.00,
'starRating': 2.2,
'imageUrl': 'https://placekitten.com/400/420'
}
];
//paste here how to return the array to observable
}
}
答案 0 :(得分:3)
如果您使用的是Rxjs 5或更早版本:
您可以使用
return Observable.of(this.products);
确保导入,
import { Observable } from "rxjs";
答案 1 :(得分:3)
使用of
运算符
import { of } from 'rxjs';
return of(this.products);
答案 2 :(得分:2)
使用from
import { from } 'rxjs'
export class ProductService {
products: IProduct[];
getProducts(): Observable < IProduct[] > {
this.products = [{...}, {...}];
return from(this.products);
}
}
答案 3 :(得分:0)
您可以使用of
来返回Observable
得到的参数of
。从import { of } from 'rxjs';
return of(this.products);