RunHandler 类型定义

RunHandler = R Function<R>(Zone self, ZoneDelegate parent, Zone zone, R f())

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

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

f 函数是传递给 zoneZone.run 的函数。

Zone.run 的默认行为是在当前区域 zone 中调用 f。自定义处理程序可以在调用 f 之前、之后或代替调用 f 做事。

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

实现

typedef RunHandler = R Function<R>(
    Zone self, ZoneDelegate parent, Zone zone, R Function() f);