父区域的改进视图。
此类允许在保留起始区域知识的同时,实现区域方法,以调用父区域的方法。
自定义区域(通过 Zone.fork 或 runZoned 创建)可以提供区域大多数方法的实现。这与在 Zone 上重写方法类似,但此机制不需要子类化。
自定义区域函数(通过 ZoneSpecification 提供)通常记录或包装其参数,然后使用提供的 ZoneDelegate 将操作委派给其父区域。
虽然区域可以访问其父区域(通过 Zone.parent),但出于以下两个原因建议调用提供的父委托上的方法:
- 委托方法额外接受一个
zone
参数,它是操作发起的区域。 - 委托调用更高效,因为实现知道如何跳过只会委派给其父级的区域。
构造函数
属性
- hashCode → int
- 此对象的哈希码。no setterinherited
- runtimeType → Type
- 对象的运行时类型的表示。no setterinherited
方法
-
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 - 等号操作符。继承