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);