Класс ZoneDelegate
Адаптированное представление родительской зоны.
Этот класс позволяет реализации метода зоны вызывать методы родительской зоны, сохраняя сведения об исходной зоне.
Пользовательские зоны (созданные с помощью Zone.fork или runZoned) могут предоставлять реализации большинства методов зон. Это похоже на переопределение методов в Zone, однако такой механизм не требует создания подкласса.
Функция пользовательской зоны (предоставленная через ZoneSpecification) обычно записывает или оборачивает свои параметры, а затем делегирует выполнение операции родительской зоне с помощью предоставленного ZoneDelegate.
Хотя зоны имеют доступ к родительской зоне (через Zone.parent), рекомендуется вызывать методы предоставленного родительского делегата по двум причинам:
- методы делегата принимают дополнительный аргумент
zone, который указывает зону, в которой было инициировано действие. - вызовы делегата эффективнее, поскольку реализация умеет пропускать зоны, которые просто делегировали бы вызов своим родительским зонам.
Конструкторы
- ZoneDelegate()
Свойства
- hashCode → int только для чтенияунаследовано
- Хеш-код этого объекта.
- runtimeType → Type только для чтенияунаследовано
- Представление типа объекта во время выполнения.
Методы
- createPeriodicTimer(
Zone zone, Duration period, void f(Timer timer)) → Timer - createTimer(
Zone zone, Duration duration, void f()) → Timer - errorCallback(
Zone zone, Object error, StackTrace? stackTrace) → AsyncError? - fork(
Zone zone, ZoneSpecification? specification, Map? zoneValues) → Zone - handleUncaughtError(
Zone zone, Object error, StackTrace stackTrace) → void - noSuchMethod(
Invocation invocation) → dynamic унаследовано - Вызывается при обращении к несуществующему методу или свойству.
- print(
Zone zone, String line) → void - registerBinaryCallback<
R, T1, T2>( Zone zone, R f(T1 arg1, T2 arg2)) → ZoneBinaryCallback< R, T1, T2> - registerCallback<
R>( Zone zone, R f()) → ZoneCallback< R> - registerUnaryCallback<
R, T>( Zone zone, R f(T arg)) → ZoneUnaryCallback< R, T> - run<
R>( Zone zone, R f()) → R - runBinary<
R, T1, T2>( Zone zone, R f(T1 arg1, T2 arg2), T1 arg1, T2 arg2) → R - runUnary<
R, T>( Zone zone, R f(T arg), T arg) → R - scheduleMicrotask(
Zone zone, void f()) → void - toString(
) → String унаследовано - Строковое представление этого объекта.
Операторы
- operator ==(
Object other) → bool унаследовано - Оператор равенства.
© 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/ZoneDelegate-class.html