CreatePeriodicTimerHandler 类型定义

CreatePeriodicTimerHandler = Timer Function(Zone self, ZoneDelegate parent, Zone zone, Duration period, void f(Timer timer))

自定义 Zone.createPeriodicTimer 实现函数的类型。

接收处理程序注册的 Zone 作为 self,将请求转发到 self 的父区域处理程序的委托作为 parent,以及未捕获错误的当前区域作为 zone,其中将 self 作为父区域。

回调函数 fperiod 是传递给 zoneZone.createPeriodicTimer(可能通过 Timer.periodic 构造函数)的。

自定义处理程序可以选择用执行某些操作在调用 f 之前、之后或代替 f 的函数替换 f,然后调用 parent.createTimer(zone, replacement)。或者它可以实现自己的定时器队列,这通常仍然依赖于 parent.createTimer 作为启动的方式。

该函数应返回一个 Timer 对象,可以用来检查和控制计划中的定时器回调。

该函数必须仅通过 selfparentzone 访问区域相关功能。它不应依赖于当前区域 (Zone.current)。

实现

typedef CreatePeriodicTimerHandler = Timer Function(
    Zone self,
    ZoneDelegate parent,
    Zone zone,
    Duration period,
    void Function(Timer timer) f);