waitAllLoadsToComplete method

  1. @override
Future<void> waitAllLoadsToComplete()
inherited

Returns Future, which completes either immediately if there are no other loads, or upon completion of all loads.

Implementation

@override
Future<void> waitAllLoadsToComplete() {
  if (_lastLoadWaiter == null) {
    _lastLoadWaiter = (_loadCompleter?.isCompleted ?? true)
        ? Future.value()
        : _loadCompleter!.future;
  } else {
    _lastLoadWaiter = _lastLoadWaiter!.then((_) => _loadCompleter!.future);
  }

  return _lastLoadWaiter!.then((value) {
    if (_loadCompleter?.isCompleted ?? true) {
      _lastLoadWaiter = null;
    }
  });
}