Skip to content

RunBinaryHandler

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

The type of a custom Zone.runBinary implementation function.

A function used as ZoneSpecification.runBinary to specialize the behavior of a new zone.

Receives the Zone that the handler was registered on as self, a delegate forwarding to the handlers of self's parent zone as parent, and the current zone where the error was uncaught as zone, which will have self as a parent zone.

The function f and values arg1 and arg2 are the function and arguments which was passed to the Zone.runBinary of zone.

The default behavior of Zone.runUnary is to call f with arguments arg1 and arg2 in the current zone, zone. A custom handler can do things before, after or instead of calling f.

The function must only access zone-related functionality through self, parent or zone. It should not depend on the current zone (Zone.current).