gpt4 book ai didi

angular - NGRX 选择器在商店可用之前请求数据

转载 作者:太空狗 更新时间:2023-10-29 17:53:19 27 4
gpt4 key购买 nike

当用户在屏幕上选择一个项目时,会触发一个操作,该操作从 API 请求数据并将该数据加载到所选项目的商店中。

选择器用于获取返回数据的特定部分以创建图表。

选择器返回未定义,因为商店还没有该数据。

我要么需要 store/action/dispatch 向选择器的调用发出信号,表明它已准备就绪,要么允许选择器继续请求,直到它拥有正在寻找的数据:

this.setItemDispatch(this.datetime, this.selectedItem, this.direction);

this.store.select(selectFlyoutTimelineBar(this.selectedItem, this.direction, 'Graph Title')).subscribe(x => {
console.log('data returned:', x);
});

dispatch :

this.store.dispatch(
new LoadStationArriveTimelineDataAction({
station: selectedItem,
start: { startDate: currentDate },
query: this.codes,
lineQuery: this.lineCode
})
);

最佳答案

您可以使用 RxJS filter 操作。

this.store.pipe(
select(selectFlyoutTimelineBar(this.selectedItem, this.direction, 'Graph Title')),
filter(result => Boolean(result))
)

I either need the store/action/dispatch to signal to the call to the selector that it's ready OR allow the selector to keep requesting until it has the data it's looking for:

选择器是一个 RxJS 可观察对象,每次它的数据改变时它都会发出一个新值。这意味着您不需要通知选择器进行更新。

关于angular - NGRX 选择器在商店可用之前请求数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52117866/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com