我在寻找某种? 懒人财产 在Angular服务中,意思是--我想有一个getter到一个服务属性,并检查--如果成员是null,那么我就需要用一个observable获取数据并设置成员,然后返回它(在设置了值之后).这就是我现在的做法。
private _someDataItems : someDataItemType[];
get someDataItems() : someDataItemType[]
{
if (!this._someDataItems)
{
this.getData().subscribe(result => //The get data return Observable<someDataItemType[]>
{
this._someDataItems = result;
return this._someDataItems;
});
}
else
{
return this._someDataItems;
}
}
set someDataItems(value : someDataItemType[])
{
this._someDataItems = value;
}
有什么方法可以做到这一点吗?
也许你应该尝试返回一个 Observable
.
private _someDataItems : someDataItemType[];
get someDataItems() : Observable<someDataItemType[]> {
if (!this._someDataItems) {
this.getData().pipe(map(result => //The get data return Observable<someDataItemType[]>
{
this._someDataItems = result;
return this._someDataItems;
}));
}
else
{
return of(this._someDataItems);
}
}
set someDataItems(value : someDataItemType[])
{
this._someDataItems = value;
}