onIdle method
Implementation
Future<void> onIdle() {
Completer c = Completer();
if (_pendingCount == 0 && _queue.size == 0) {
c.complete();
} else {
var existingResolve = _resolveIdle;
_resolveIdle = () {
existingResolve();
c.complete();
};
}
return c.future;
}