ZoneDelegate抽象 最终

父区域的一个修改后的视图。

此类允许实现一个区域方法,在保留原始区域知识的同时调用父区域的方法。

自定义区域(通过 Zone.forkrunZoned 创建)可以提供区域大多数方法的实现。这类似于在 Zone 上重写方法,但这个机制不需要子类化。

一个自定义区域函数(通过一个 ZoneSpecification 提供)通常记录或包装其参数,然后使用提供的 ZoneDelegate 将操作委托给其父区域。

虽然区域可以访问其父区域(通过 Zone.parent),但出于两个原因建议调用提供的父委托的方法:

  1. 委托方法接受一个额外的 zone 参数,它是操作发起的区域。
  2. 委托调用更高效,因为实现知道如何跳过只会委托给父区域的区域。

属性

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
相等运算符。
继承