我试图返回过滤器函数,但返回似乎不起作用回调。这里this.store.let(getIsPersonalized$)
是一个可观察的发射布尔值,this.store.let(getPlayerSearchResults$)
是一个可观察的发射视频类的对象。 如何同步运行,我可以完全避免异步回调,因为我无法修改从商店收到的观察值。如何从观察者内部返回?
isPersonalized$ = this.store.let(getIsPersonalized$);
videos$ = this.store.let(getPlayerSearchResults$)
.map((vids) => this.myFilter(vids));
myFilter(vids) {
this.isPersonalized$.subscribe((x){
if(x){
return this.fileterX(vids);//Return from here
}
else {
return this.filterY(vids);//Or Return from here
}
});
}
fileterX(vids) {
return vids.filter((vid) => vids.views>100;);
}
fileterY(vids) {
return vids.filter((vid) => vids.views<20;);
}