我有一个问题,我相信是由于我在ngrx-store中的初始状态的组合,并试图从observable得到初始响应。我使用的数据表,以及大量的静态报表的数据 - 所以我只是想从第一个“真正”的回应:ngrx/store - 竞争条件下的可观察对象
Observable.zip(this.sites$, this.devices$, this.machines$, this.machineContent$)
在我NGRX减速我定义为初始状态[]为每个这些。然而,有时候(我认为是一种竞争条件),其中一个观测值将返回为[],但是Observable.zip可以解决,并且在那个点上错误地呈现我的表。
我已经试过的各种组合:
Observable.zip(this.sites$.skip(1), this.devices$.skip(1), this.machines$.skip(1), this.machineContent$.skip(1))
和 Observable.zip(this.sites$.skip(1), this.devices$.skip(1), this.machines$.skip(1), this.machineContent$.skip(1)) .take(1)
而这些工作的时间约为80%。 我也有一个可观察到的isLoaded对于每个观察对象(machinesIsLoaded,machineContentIsLoaded等),我想用.takeUntil
,除了我必须检查每个这些返回true
,它感觉就像我一定做错了什么。
任何想法?
你可以做'.filter(item => item && item.length> 0)'或者类似的东西吗? – Pace
我试过了 - 问题是该项目可以合法地具有0的长度,所以我希望它仍然可以解决。不过,也许我可以使用过滤器。 –