Angular ngrx效果-流在完成之前取消以前的流
我陷入困境,需要一些建议来指引我正确的方向。我有一个存储,它是一个数组(上下文:一个图表数组),数组中的每个项都有自己的状态。每个项目负责使API成为API调用,但是当触发新效果并进行API调用时,它会取消上一个API调用,从我可以看出,它会一起取消上一个流。非常感谢您的帮助 效果是这样的 最终结果使我的商店看起来像这样Angular ngrx效果-流在完成之前取消以前的流,angular,typescript,ngrx,Angular,Typescript,Ngrx,我陷入困境,需要一些建议来指引我正确的方向。我有一个存储,它是一个数组(上下文:一个图表数组),数组中的每个项都有自己的状态。每个项目负责使API成为API调用,但是当触发新效果并进行API调用时,它会取消上一个API调用,从我可以看出,它会一起取消上一个流。非常感谢您的帮助 效果是这样的 最终结果使我的商店看起来像这样 [ { id: 1, data: null, loading: true, loaded: false }, { id: 2
[
{
id: 1,
data: null,
loading: true,
loaded: false
},
{
id: 2,
data: {
...
}
loading: false,
loaded: true
}
]
改用
mergeMap
(或者concatMap
,如果保留顺序很重要的话)
根据开关映射
将每个源值投影到一个可观察对象,该可观察对象合并到输出可观察对象中,仅从最近投影的可观察对象发出值
因此,每次效果收到LOAD\u CHART
操作时,它都会取消订阅当前的chartApi.getChart
,等等
[
{
id: 1,
data: null,
loading: true,
loaded: false
},
{
id: 2,
data: {
...
}
loading: false,
loaded: true
}
]