微任务调度处理程序 类型定义

微任务调度处理程序 = void Function(Zone self, ZoneDelegate parent, Zone zone, void f())

自定义 Zone.scheduleMicrotask 实现函数的类型。

接收处理程序注册的 Zone 作为 self,将消息转发到 self 父区域的处理程序的代理作为 parent,以及错误未被捕获的当前区域作为 zone(它将以 self 作为父区域)。

函数 f 是传递给 zoneZone.scheduleMicrotask 的函数。

自定义处理程序可以选择用另一个函数替换 f,该函数在调用 f 之前、之后或代替调用 f,然后调用 parent.scheduleMicrotask(zone, replacement)。或者,它可以实现自己的微任务调度队列,这通常仍然依赖于 parent.scheduleMicrotask 作为开始的方式。

函数必须仅通过 selfparentzone 访问区域相关功能。它不应依赖于当前区域(Zone.current)。

实现

typedef ScheduleMicrotaskHandler = void Function(
    Zone self, ZoneDelegate parent, Zone zone, void Function() f);