ForkHandler typedef
自定义Zone.fork实现函数的类型。
接收处理器注册的Zone作为self,将请求转发到self父区域的处理器作为parent,以及错误未被捕获的当前区域作为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);