Angular 角度2+;缓存实践

Angular 角度2+;缓存实践,angular,typescript,rxjs,Angular,Typescript,Rxjs,我正在试验Angular 2和缓存从后端服务接收的值。我注意到我采用了以下模式-使用未定义初始值的BehaviorSubject,并对其进行过滤,以根据从后端接收的值推迟控件的显示 private _lazyValue: BehaviorSubject<ILazyValue> = new BehaviorSubject<ILazyValue>(undefined); get lazyValue(): Observable<ILazyValue> {

我正在试验Angular 2和缓存从后端服务接收的值。我注意到我采用了以下模式-使用未定义初始值的
BehaviorSubject
,并对其进行过滤,以根据从后端接收的值推迟控件的显示

private _lazyValue: BehaviorSubject<ILazyValue> =
    new BehaviorSubject<ILazyValue>(undefined);

get lazyValue(): Observable<ILazyValue> {
  return this._lazyValue.filter(val => val !== undefined);
}

我是否以某种方式误用了行为主体?

你可以这样写:

this._lazyValue.filter(Boolean)
看起来更干净


但似乎您根本不需要使用
行为主体
,而是使用
ReplaySubject(1)

您可以这样编写:

this._lazyValue.filter(Boolean)
看起来更干净

但似乎您根本不需要使用
BehaviorSubject
,而是使用
ReplaySubject(1)

this._lazyValue.filter(Boolean)