init method

  1. @override
Future<void> init(
  1. FExecutionContext executionContext
)
override

Implementation

@override
Future<void> init(final FExecutionContext executionContext) {
  return Future<void>.sync(() {
    this.verifyNotDisposed();
    if (this._initialized != true) {
      if (this._initializingFuture == null) {
        this._initExecutionContext = executionContext;
        this._initializingFuture = Future<void>.value();
        final onInitializeResult = this.onInit();
        if (onInitializeResult is Future<void>) {
          this._initializingFuture = this
              ._initializingFuture!
              .then((_) => onInitializeResult)
              .whenComplete(() {
            this._initializingFuture = null;
            this._initialized = true;
          });
          return this._initializingFuture;
        } else {
          this._initialized = true;
          this._initializingFuture = null;
        }
      } else {
        return this._initializingFuture!;
      }
    }
  });
}