reloadAsync method

Future<ConfigurableApplicationContext> reloadAsync(
  1. ConfigurableApplicationContext running, {
  2. bool runners = true,
})

The asynchronous form of reload, for Flutter and for code that uses runAsync.

running is closed with closeAsync(), which awaits its asynchronous destroy callbacks, and the new application starts as with runAsync.

Implementation

Future<ConfigurableApplicationContext> reloadAsync(
  ConfigurableApplicationContext running, {
  bool runners = true,
}) async {
  final previous = _launches[running];
  if (_isCurrent(running, previous)) {
    return running;
  }
  if (running.isActive) {
    await running.closeAsync();
  }
  return await _runAsync(
    previous?.args ?? const [],
    previous?.systemEnvironment,
    previous?.properties ?? const {},
    previous?.additionalProfiles ?? const [],
    runners: runners,
  );
}