RunBinaryHandler 类型定义

RunBinaryHandler = R Function<R, T1, T2>(Zone self, ZoneDelegate parent, Zone zone, R f(T1 arg1, T2 arg2), T1 arg1, T2 arg2)

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

接收处理器注册时的 Zone 作为 self,将其父区域的处理器作为 parent 的代理,以及未捕获错误所在的当前区域作为 zone,该区域将以 self 为父区域。

f 函数和值 arg1arg2 是传递给 zoneZone.runBinary 的函数和参数。

Zone.runUnary 的默认行为是在当前区域 zone 中调用 f 并带上参数 arg1arg2。自定义处理器可以在调用 f 之前、之后或代替调用 f

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

实现

typedef RunBinaryHandler = R Function<R, T1, T2>(Zone self, ZoneDelegate parent,
    Zone zone, R Function(T1 arg1, T2 arg2) f, T1 arg1, T2 arg2);