尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

SAP UI5 里有没有 RxJS exhaustMap,答案不在某个 Operator,而在异步任务的并发控制方式

SAP UI5 里有没有 RxJS exhaustMap,答案不在某个 Operator,而在异步任务的并发控制方式 直接给出结论,SAP UI5 框架本身没有一个名为exhaustMap的 API,也没有一个可以和 RxJSexhaustMap一一对应的 SAP UI5 Operator。SAP UI5 的事件体系并不是按照 RxJS 那套Observable → Operator → Observable的响应式数据流模型设计的,所以在sap.m.Button、sap.ui.base.EventProvider、sap.ui.model.odata.v2.ODataModel、sap.ui.model.odata.v4.ODataModel这些常用 API 里,都找不到一个直接写成exhaustMap(...)的东西。不过,如果问题换成,SAP UI5 能不能实现和 RxJSexhaustMap完全一样或者非常接近的业务语义,那么答案就是可以,而且在真实的 SAP Fiori 应用里,这种需求非常常见。我们今天讨论的关键并不是某个方法名,而是下面这个并发规则。某个异步任务已经开始执行以后,在这个任务完成之前再次发生的同类事件全部忽略。当前任务完成之后,后面新发生的事件又可以启动一个新的异步任务。这恰好就是exhaustMap最有辨识度的行为。RxJS 官方文档对exhaustMap的定义就是,把源Observable发出的值映射成内部O
返回列表