Псевдоним типа ForkHandler
Тип функции пользовательской реализации Zone.fork.
Получает Zone, в которой был зарегистрирован обработчик, как self, делегат, передающий вызовы обработчикам родительской зоны self, как parent, и текущую зону, в которой ошибка осталась необработанной, как zone; родительской зоной для неё будет self.
Обработчик должен создать новую зону, непосредственной родительской зоной которой будет zone.
specification и zoneValues — это значения, переданные в Zone.fork для zone. Они задают пользовательские обработчики зоны и переменные зоны, которые должны быть у новой зоны.
Пользовательский обработчик может изменить спецификацию или значения зоны перед вызовом parent.fork(zone, specification, zoneValues), но для создания корректного объекта Zone он должен вызвать ZoneDelegate.fork объекта parent.
Функция должна обращаться к функциональности, связанной с зонами, только через self, parent или zone. Она не должна зависеть от текущей зоны (Zone.current).
Реализация
typedef ForkHandler = Zone Function(Zone self, ZoneDelegate parent, Zone zone,
ZoneSpecification? specification, Map<Object?, Object?>? zoneValues);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-async/ForkHandler.html