我不擅长介绍,所以让我们开始追逐吧:
我通过使用ngRedux.select
从redux存储中获得了可观察到的信息。在使用带有自定义比较功能的distinctUntilChanged
管道之后,立即。但是,在此函数中,无论被调用的频率如何,旧值始终为null
。
另外,当我在进行某些解析(这是原始计划)之后将distinctUntilChanged
放置在管道中的较晚位置时,它将再次始终返回相同的值:第一个通过可观察的值。不知何故,我完全误解了该运算符,但是我按照文档建议的方式使用它。
这是我使用的完整代码:
this.ngRedux.select((store: RootDomain) => getValue(() => {
const localContext = store.core.context[contextUuid];
const globalContext = store.core.context[GLOBAL_CONTEXT_KEY];
const context = Object.assign({}, globalContext, localContext);
return context[key];
})).pipe(
distinctUntilChanged((x, y) => {
console.log('OLD: ', x);
console.log('NEW: ', y);
return isEqual(x, y);
})
);
我也一直尝试简单地一直返回true,以查看是否有任何变化(当然不会发生变化)。 x
在此处始终以null
身份登录。请帮助我理解此运算符!