AsyncTracker constructor

AsyncTracker({
  1. Zone? zone,
  2. Duration? duration,
})

When duration is specified, the tracking event is schedule via a Timer in the original zone, otherwise it is scheduled via a microtask.

Implementation

AsyncTracker({Zone? zone, Duration? duration}) : _duration = duration {
  _parent = zone ?? Zone.current;
  _tracked = _parent.fork(
    specification: ZoneSpecification(
      scheduleMicrotask: _scheduleMicrotask,
      run: _run,
      runUnary: _runUnary,
      runBinary: _runBinary,
      createTimer: _createTimer,
    ),
  );
}