inf*_*dev 4 javascript rxjs redux ngrx angular
我的 ngrx 状态是这样的
state.data state.dataArchived
我想将数据从 store.data 复制到 state.dataArchived。
selectedSchedulingsOnPopup$ = this.store.pipe(select(selectSchedulingsByBranch));
ngOnInit() {
this.store.dispatch(new GetDirectionsOnGraph({}));
this.selectedSchedulingsOnPopup$.subscribe(value => {
this.selectedSchedulingsOnPopupValue = value;
this.store.dispatch(new GetDirectionsOnGraph(this.selectedSchedulingsOnPopupValue));
});
}
Run Code Online (Sandbox Code Playgroud)
问题是当state.data改变时,state.dataArchived也会改变
所以我想在state.data不订阅的情况下获取当前值。
我不明白这个问题,但是如果您想在不订阅的情况下获取该值,则可以将其转换为承诺。
async ngOnInit() {
const data = await this.store.pipe(select(selectorForData),
take(1)).toPromise();
}
Run Code Online (Sandbox Code Playgroud)
请记住,在这种承诺方式中,它只会反应一次并获取数据并继续。如果你想知道数据切片的变化,你必须订阅它,没有其他办法。