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

资讯详情

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

SAP UI5 里如何实现 RxJS timer 的语义,从一次延迟、周期调度到 OData 轮询与生命周期管理

SAP UI5 里如何实现 RxJS timer 的语义,从一次延迟、周期调度到 OData 轮询与生命周期管理 在 SAP UI5 项目里遇到需要延迟几秒执行、延迟一段时间后开始轮询、定时刷新 OData 数据这类需求时,很容易想到 RxJS 的timer。如果熟悉 Angular 和 RxJS,代码往往已经形成了很自然的思维习惯,像timer(3000),或者timer(5000, 30000),再配合switchMap、takeUntil、retry等操作符,把时间调度、异步请求和生命周期管理串在一条数据流里。SAP UI5 里确实存在与这类需求相对应的机制,不过需要先把一个容易混淆的概念厘清。RxJS 的timer严格来说并不是一个通过pipe使用的 pipeable operator,而是一个用于创建Observable的 creation function。它可以在指定延迟后产生第一个值,也可以在第一次触发之后按照固定周期继续产生递增数字。RxJS 当前源码里的两个主要签名分别对应timer(due)和timer(startDue, intervalDuration),前者等待指定时间后产生0并完成,后者等待指定时间后产生0,此后按照周期继续产生1、2、3等值。due还可以是一个Date,从而把第一次触发安排到某个绝对时间点。(
返回列表