SAP UI5 如何理解 RxJS 的 fromEventPattern,从 attachEvent 到 Observable 的完整映射
在一个稍微复杂一点的 SAP Fiori 应用里,我们很容易同时碰到几类事件。sap.m.SearchField或sap.m.Input不断产生输入事件,Router在导航时产生路由匹配事件,Binding在后端数据回来以后产生change事件,跨 Controller 的业务动作可能通过EventBus发布,某些特殊控件又可能不得不监听浏览器原生事件。代码规模小的时候,每一处直接写attach...,对应位置再写一个detach...,完全没有问题。可一旦业务要求变成搜索输入连续 300 毫秒没有变化才请求后台、路由已经进入某个页面并且 Binding 已经完成刷新以后才执行逻辑、两个独立事件源任意一个变化都重新计算状态,普通回调会越来越像一张人工维护的事件网。这恰好是理解 RxJSfromEventPattern和 SAP UI5 关系的最佳切入口。直接给出结论,SAP UI5 没有一个公开 API 叫作fromEventPattern,也没有在 UI5 核心框架里提供一套与 RxJSObservable、pipe、map、switchMap、combineLatest完全对应的响应式流系统。但是 SAP UI5 拥有大量非常适合被fromEventPattern适配的事件 API。尤