公司动态
SAP UI5 里有没有类似 RxJS distinct 的机制,从事件去重到数据绑定更新的一次完整拆解
在 SAP UI5 项目里,经常会遇到一种很典型的现象。某个Input、SearchField、Select、路由事件或者 Model 数据变化,在很短的时间内可能产生多次通知,但业务逻辑真正关心的并不是每一次通知,而是某个值第一次出现的时候才处理。熟悉 RxJS 的开发人员很自然会想到distinct。所以问题可以直接回答。SAP UI5 没有提供一个和 RxJSdistinct一一对应的原生 Operator,也没有类似source.pipe(distinct())这样的 UI5 API。但是 SAP UI5 内部确实存在若干和distinct思想非常接近的机制,而且在不同层次上,它们甚至已经自动完成了一部分去重工作。特别是JSONPropertyBinding