SAP UI5 里有没有 RxJS map Operator,一次讲清数据变换、绑定格式化与响应式流的边界
SAP UI5 里有没有 RxJS map Operator,一次讲清数据变换、绑定格式化与响应式流的边界
我们现在正在讨论的场景很具体,后端通过 OData 返回一批 Product 数据,页面需要把技术字段转换成适合业务人员阅读的内容。状态码A要显示成可销售,库存数量低于补货线时要生成告警状态,净额和税额要组合成含税金额。熟悉 Angular 和 RxJS 的开发人员看到这种需求,脑中很自然会出现source$.pipe(map(...))。问题也由此变得很尖锐,SAP UI5 里到底有没有同等级、同语义、可以直接接在数据流上的map Operator。
结论很明确,按 UI5 官方公开的 Model、Binding、ManagedObject 和 EventProvider API 体系来判断,SAP UI5 核心框架没有提供一个与rxjs/operators中map完全对应的内建 Operator。SAP UI5 没有把Observable、pipe和一组可组合 Operator 作为框架的数据流基础设施,也没有一个可以对所有 UI5 事件、模型变更和 OData 响应统一执行pipe(map(...))的标准 API。RxJS 官方对map的定义是,对源Observable每次发出的值执行投影函数,再由输出Observable发出投影后的值。RxJS 自身处理的是异步序列和事件
