ForkHandler 类型定义
自定义 Zone.fork 实现函数的类型。
接受处理程序注册的 Zone 作为 self
,将数据转发到 self
父区域的处理程序作为 parent
,以及在错误未被捕获的当前区域作为 zone
,该 zone
将以 self
作为父区域。
处理器应创建一个新的区域,其父区域为 zone
。
specification
和 zoneValues
是传递给 zone
的 Zone.fork 的。它们指定了新区域应具有的自定义区域处理程序和区域变量。
自定义处理器可以在调用 parent.fork(zone, specification, zoneValues)
之前更改规范或区域值,但必须调用 parent
的 ZoneDelegate.fork,以创建有效的 Zone 对象。
函数必须仅通过 self
、parent
或 zone
访问区域相关功能。它不应依赖于当前区域 (Zone.current)。
实现
typedef ForkHandler = Zone Function(Zone self, ZoneDelegate parent, Zone zone,
ZoneSpecification? specification, Map<Object?, Object?>? zoneValues);